一、代码规范的要点

代码规范主要分为风格规范与设计规范两大类:

1、代码风格规范

主要是文字上的规定,看似表面文章,实际上非常重要。

具体有如下几个方面:

(1)缩进

(2)行宽

(3)断行/空白行

(4)括号

(5)命名(字母、下划线、大小写)

(6)注释

A、单行注释

B、多行注释

C、变量/方法/类/包注释

2、代码设计规范

牵涉到程序设计、模块之间的关系、设计模式等方方面面的通用原则。

主要有如下几个方面:

(1)方法/函数的写法

A、方法命名

B、方法参数(入参/返回值)

C、方法的职责

比如:避免out型参数、用枚举替代boolean、同类型参数最好间隔开、超过4个参数最好抽象成一个类、参数和返回值最好不传null、用卫述句减少if嵌套、方法连续调用要注意空指针、for循环优于while

(2)异常处理原则

比如:异常的抽象层次应该与方法所在的层次一致,业务层方法要对底层异常进行转译为业务异常

(3)分层/类设计原则

比如:在某一个层进行防御式校验,某一层按约定不做参数校验;比如调用到的外部接口封装为facade防腐层;

(4)单测原则

比如:快速/及时、独立、可重复、覆盖主要代码路径、无副作用

二、CodeReview注意事项

主要根据团队设定的代码规范,来review团队成员的代码,大致有以下几个方面:

1、代码有没有不符合代码规范的

比如:命名、注释

2、代码有没有(业务/算法)逻辑错误

比如:功能与需求有偏差;参数传递顺序出错;方法的边界条件有没有考虑等

3、代码有没有回归错误

比如:之前的功能回归测试不通过

4、代码有没有潜在性能问题

比如:考虑大数据量、大并发量下的性能下sql是否有问题?是否会有内存泄露?死锁等

5、代码有没有其他待改进的地方

比如:可扩展性/过度设计

——参考《构建之法》

作者:go4it
链接:https://www.jianshu.com/p/e65d83405914
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

如何进行CodeReview的更多相关文章

  1. 【腾讯Bugly干货分享】让 CodeReview 这股清流再飞一会儿

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/ToYeT4Y4pzx0ii9Z92fo-Q 作者:刘 ...

  2. CodeReview Learning

    目录 . 引言 . 代码检视的指导思想 . 代码检视的内容 . 回归测试 0. 引言 代码检视(Code Review)是指软件开发人员在完成代码设计.编写.调试后展开的个人或群体性的代码阅读过程,代 ...

  3. 分享总结:更好地CodeReview

            代码质量分享    2016_06_24_舒琴_代码质量.key    For 代码提交人     基本原则 Review时机: 对于普通bugfix或优化,CodeReview最迟要 ...

  4. codereview介绍

    1. 定义: Code review is systematic examination (often known as peer review) of computer source code. I ...

  5. 关于CodeReview(java)(转)

    关于codereview,在平时的开发中,经常忽略的环节,参照目前介绍写好代码的几本书和之前掉进的坑,做了一个总结,分享出来. 为什么要做 通过review规避一些代码层面的问题 提升可读性,方便后续 ...

  6. 自动化CodeReview - ASP.NET Core请求参数验证

    自动化CodeReview系列目录 自动化CodeReview - ASP.NET Core依赖注入 自动化CodeReview - ASP.NET Core请求参数验证 参数验证实现 在做服务端开发 ...

  7. 自动化CodeReview - ASP.NET Core依赖注入

    自动化CodeReview系列目录 自动化CodeReview - ASP.NET Core依赖注入 自动化CodeReview - ASP.NET Core请求参数验证 我个人比较懒,能自动做的事绝 ...

  8. CodeReview实践与总结

    CodeReview 是大型软件工程中公认的必不可少的保证工程质量的重要手段之一.但凡正规软件作战军团都是非常重视 CodeReview 的作用和意义的.那么,如何做好 CodeReview 呢?这里 ...

  9. CodeReview常见代码问题

    路线图 常见代码问题空值未捕获潜在的异常低性能影响范围过大单测问题与原有业务逻辑不兼容缺乏必要日志错误码不符合规范参数检测缺乏或不足引用错误细节错误多重条件文不符实跨语言或跨系统交互可维护性问题硬编码 ...

随机推荐

  1. sql优化学习(一)

    找到一套好的sql优化视频,地址如下: http://www.ppvke.com/10355.html p.s. 我在百度搜索半天都是些乱七八糟的东西,我用google搜索后,立刻就发现上面的视频地址 ...

  2. Go Example--方法

    package main import "fmt" //定义结构体 type rect struct { width,height int } //定义结构体指针的方法 func ...

  3. Python知识点整理,基础4 - 集合操作

  4. UVA10294 Arif in Dhaka (First Love Part 2)

    题意 PDF 分析 用n颗宝石串成项链和手镯, 每颗宝石的颜色可以t种颜色中的一种,当A类项链经过旋转得B类项链时,A和B属于一类项链, 而手镯不仅可以旋转还可以翻转,当A类手镯经过翻转得得到B类手镯 ...

  5. 刚开始学java和刚去工作的时候,1.path路径 2.classpath路径 还有JAVA_HOME相当于/dgs这个路径

    把里面bin文件夹下面的可执行文件都配置到path路径下了,以后只要在Dos窗口输入命令就可以运行 无论是在dos窗口下还是在eclispe中只需要配置这个path变量,不需要配置classpath ...

  6. What's New In Zeebe: Scaling Zeebe, New Client APIs, Faster Requests, Timestamps, NodeJS Client, and Default Topic is Back!

    Written by Daniel Meyer on May 16 2018 in the What's New In Zeebe category. Welcome to the first-eve ...

  7. Gravitational Teleport简单使用

    使用官方提供的二进制包进行快速启动测试,详细细节还需要在学习 下载软件包 mac 系统 https://gravitational.com/teleport/download/ wget https: ...

  8. SCS Characteristics

    Each SCS is an autonomous web application. For the SCS's domain, all data, the logic to process that ...

  9. .NET本质论 类型基础

    类型概述 类型是CLR程序的生成块(building block). CLR类型(CLR type)是命名的可重用抽象体. CLR类型定义由零个或多个成员(member)组成.类型的成员控制类型如何使 ...

  10. DISC测试

    您的测评结果 您的测评结果是:SC主导DISC图形   结果解读 这种典型行为风格,可被大致描述为是"调解者"的类型.这种类型的人通常生性和善,关注细节.他们关心别人,并在工作中一 ...