如何进行CodeReview

一、代码规范的要点

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

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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://www.cnblogs.com/ricklz/p/9176807.html

时间: 2024-10-21 10:49:16

如何进行CodeReview的相关文章

CodeReview是开发中的重要一个环节,整理了一些关于jupiter for java

什么是代码评审(CodeReview)? 代码评审也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动. Jupiter提供了代码行级别的评审批注功能,方便评审参与人了解具体是哪些行代码存在问题. 同时,它也比较符合常规的评审流程,被评审人提供待审代码->评审人线下提出个人意见->组织讨论会讨论每个人提出的意见并确定问题及解决方案->被评审人修改代码->评审人查看修改情况. Jupiter支持在一个项目中的多次评审,多人协同参与评审,支持多种配置库如SVN

转: codereview 工具平台建设

一.  Rietveld  code review  (一套工具系统与平台) 1. http://www.cnblogs.com/fang9159/archive/2012/07/20/2591690.html 2. http://baidutech.blog.51cto.com/4114344/744432 3. http://mobile.51cto.com/aprogram-472272.htm  //腾讯soso搭建的经验 二.  5 个  review工具推荐. http://cool

Android CodeReview 些许总结

CodeReview些许总结 1:使用Handler的时候,使用handler.post(Runnable);,hanler与类尽量保持弱引用关系,或者使用静态的handler对象 public Handler h = new Handler() { //不推荐 @Override public void handleMessage(Message msg) { } }; <pre name="code" class="java">public stat

摘抄-----java codeReview要做的事

整洁的代码 清单项目 分类 使用可以表达实际意图(Intention-Revealing)的名称 有意义的名称 每一个概念只用一个词 有意义的名称 使用方案/问题领域名称 有意义的名称 类应该是比较小的! 类 函数应该是比较小的! 函数 只做一件事 函数 DRY(Don’t Repeat Yourself)原则,(拒绝重复) 函数 用代码来解释自己的做法(译者注:即代码注释) 注释 确定应用了代码格式化 格式 使用异常而不是返回码 异常 不要返回Null 异常 *参考自:http://techb

常用工具说明--搭建基于rietveld的CodeReview平台(未测试)

为什么要codereview . 整个团队的编码风格是统一的. . 有高手能对自己的代码指点一二,从而提高编码水平. . 减少低级错误的出现 . 约束自己写高质量的代码,因为是要给人看的. 我们对codereview的需求 . 很轻松可以发布自己写的代码. . 很轻松的可以与老代码diff review. . review的人和被review的人很轻松的交互,而且还能保存交互的历史. 我选择rietveld 基于以上需求,rietveld都满足,web应用是基于jango框架开发,可以通过一个p

sourceInsight的CodeReview.em的宏

1 /* version 1.1.1 */ 2 3 macro Review_Restore_Link() 4 { 5 hbuf = GetCurrentBuf() 6 7 sProjRoot = GetProjDir(GetCurrentProj()) 8 sProjRoot = Cat(sProjRoot, "\\") 9 10 line = 0 11 while(True) 12 { 13 sel = SearchInBuf(hbuf, "FileName : &quo

CodeReview

我们先来看看Code Reivew的用处: Code reviews 中,可以通过大家的建议增进代码的质量. Code reviews  是一个传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图和想法,从而可以在以后轻松维护代码. Code reviews 也鼓励程序员们相互学习对方的长处和优点. Code reviews 也可以被用来确认自己的设计和实现是一个清楚和简单的. 你也许注意到了在上面的Code Reivew中的诸多用处中,我们没有提到可以帮助找到程序的bug和保证代码风格和编

版本控制

GitHub & Bitbucket & GitLab & Coding 的对比分析 目前基于 Git 做版本控制的代码托管平台有很多种,比较流行的服务有 Github.Bitbucket. GitLab. Coding,他们各自有什么特点,个人使用者和开发团队又该如何选择? 在这篇文章中,我们以客观的态度,以问题作为出发点,介绍和比较 GitHub.Bitbucket.GitLab.Coding 在基本功能,开源与协作,免费与付费计划,企业解决方案,集成 flow.ci 等方面,

分布式技术一周技术动态 2016-05-15

分布式系统实践 1. 如何打造一键发布弹性伸缩微服务:应用上容器云干货案例 https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653547136&idx=1&sn=13f13bce3ed0ade574bfb243635c88a6&scene=1&srcid=05119xKhJo8IhRahLROn4bQf&key=b28b03434249256bfc8bc79bd31f620409cdbe7dab6