代码review

对于代码review个人也有些小小的看法:
1.首先我觉得我们所有开发人员要弄明白 现在Code Review 的目的 ,凡事不弄明白目的,无法做好完成一件事情,个人觉得有以下一些目的:
a)可以在项目早期就能够发现代码中的BUG ,提测后可以尽快的释放开发资源;
b)同时可以达到知识共享 ,避免我们所有开发人员犯一些很常见,很普通低级的错误 ;
c)保证项目组人员的良好沟通 ,项目的代码更容易维护
大家还有希望补充上

2.Code Review 很容易变得没有意义或是流于形式,进入 Code Review 个人觉得以下几点肯定得弄明确:
a) 我们是否理解了 Code Review 的概念和 Code Review 将做什么,这点都不明白,做法可能就会是应付了事。
b) 我们的代码是否已经正确的 build , build 的目的使得代码已经不存在基本语法错误 ,我们总不希望review人员浪费在检查连编译都通不过的代码上吧。
c) 我们 Review 人员是否理解了代码 ,做复查的人员需要对该代码有一个基本的了解,其本功能是什么,具体的业务是怎样的,这样才能采取针对性的检查

3 .具体检查点
1 完整性检查
代码是否完全实现了设计文档中提出的功能需求
代码中是否存在任何没有定义或没有引用到的变量、常数或数据类型

2一致性检查
代码的逻辑是否符合设计文档
代码中使用的格式、符号、结构等风格是否保持一致
3正确性检查
代码是否符合制定的标准
所有的变量都被正确定义和使用
所有的注释都是准确的
4 可修改性检查
       代码涉及到的常量是否易于修改 ( 如使用配置、定义为类常量、使用专门的常量类等 )

5可预测性检查
       代码是否具有定义良好的语法和语义
       代码是否无意中陷入了死循环
       代码是否是否避免了无穷递归

6健壮性检查
       代码是否采取措施避免运行时错误(什么空指针异常等,有很多是程序里面处理了,但打印日志时没有判断,不知道大家有没有犯过这样的错误哟)

7可理解性检查
       注释是否足够清晰的描述每个子程序 ,对于没用的代码注释是否删除
       是否使用到不明确或不必要的复杂代码,它们是否被清楚的注释
       使用一些统一的格式化技巧(如缩进、空白等)用来增强代码的清晰度
       是否在定义命名规则时采用了便于记忆,反映类型等方法
      循环嵌套是否太长太深?
8可验证性检查
       代码中的实现技术是否便于测试
具体的杨帅同学也整理的很多很多,希望我们讨论会上所有人员能达成一个共识,慢慢去完善!

最后抛出一个问题,希望大家抛砖
Review中,我们发现开发人员代码的一些非逻辑问题(辟如:不符合面象接口编程的思想等,只是个举例,嘿嘿),不修改也行,因为逻辑是OK的,如果修改的话可能又要花上一些时间,此时项目的进度方面将无法保证,该如何去做?

时间: 2024-12-31 05:32:55

代码review的相关文章

由学习《软件设计重构》所想到的代码review(二)

我们接第一篇由学习<软件设计重构>所想到的代码review(一) 来继续说明在代码review中,有哪些属于"层次结构"中的坏味道. 注:通过上图咱们看到了在层次结构中有九大问题点,咱们就从中找出三个典型的问题点给与分析和解释. 一.缺失的层次结构 问题点: public Insets getBorderInsets(Component c, Insets insets) { if(c instanceof AbstractButton) { margin = ((Abst

由学习《软件设计重构》所想到的代码review(一)

前言 对于一个程序员来讲如何来最直接的来衡量他的技术能力和产出呢?我想最直观的作法是看他的代码编写能力,就拿我经常接触的一些程序员来看,他们买了很多技术重构类书籍,但是看完后代码编写能力并没有显著提高.有人说可以用代码review工具啊,但是像市面上的这些代码review工具,只能帮助我们解决表面的bug和规范点,还无法帮助我们发现更深层次的设计问题. 下面我将结合<软件设计重构>这本书谈谈在进行代码review的时候,需要关注的哪些点. 一.技术债务 何为技术债务? 技术债务是有意或无意的做

代码Review发现问题

FrmMain.cs中存在问题 1. int i=0 设定为了全局常量且未在类顶部,出现问题时不好查找 i 属于常用临时变量,设定全局变量容易引起混乱 2.定义的全局变量但仅在一处方法中使用,定义全局变量过多 3.变量名及控件名等意义不明确又缺少注释,如顶部定义的全局变量 long length = 0; long loading = 0; private string oldPath = null; private int random = 1; private int repeat = 0;

代码Review那些事

本篇推文是以前同事做分享的时候的ppt,这里我整理出来分享给大家 什么是代码Review? 代码review是指在软件开发过程中,通过对源代码进行系统性检查来确认代码实现的质量保证机制 为什么不做代码Review? ?业务需求大,工作时间紧张 项目小,协作的人少,没必要 为什么要做代码Review? 提高代码质量,提升自身水平 及早发现潜在缺陷与BUG,降低事故成本 促进团队内部知识共享,提高团队整体水平 保证项目组人员的良好沟通 避免开发人员犯一些很常见,很普通的错误 总而言之目的是查找系统缺

如何进行代码review

代码review是质量保证(QA)的手段之一,但不是用来替代测试的,特别是自测. 一个软件项目的质量定义并不是代码review的职责,换句话说,良好的质量定义是代码review发挥效果的必要前提. 代码review到底要review哪些东西? 代码风格 代码结构(架构与设计) 核心逻辑 想要通过代码review来检测每一行代码,并确保检查出所有问题是不可能的,它更侧重于处理核心且明显的问题. 谁来review? 这个要看开发组采取的review形式,一般分为独立review和集中review,前

Gerrit代码Review入门实战

代码审核(Code Review)是软件研发质量保障机制中非常重要的一环,但在实际项目执行过程中,却因为种种原因被Delay甚至是忽略.在实践中,给大家推荐一款免费.开放源代码的代码审查软件Gerrit. 1.Why Code Review Code Review是什么 Code Review最直观的解释即看代码.常规的做法为自己看,有时代码逻辑问题可能自己看不出来,需要找同事一起看,在大家知识体系相对平均的情况下可能需要花钱专门的公司帮助查看. Code Review需要看哪些?对于刚入职场或

第一次代码review所了解到的问题(非本人)

需求描述:从数据库中导出一张报表,报表的表头比较复杂,给出开始时间和结束时间,导出在这段区间内的所有的数据 原来的代码:自定义工具类,从空白表开始写,定义了一系列的数组表头,然后先写表头,再按条件查询数据写入文件中,直接导出到response的输出流中完成下载. 指出的问题:从头开写太浪费时间了,并且表头的宽度高度颜色等样式比较复杂,会占用大量代码,不如在工程目录下放置一个模板文件,里面只有表头数据, 在每次下载的时候,我们直接复制一份这个文件,用uuid来唯一命名,然后将导出的数据写入到复制的

android项目《刷刷手环》代码review

很多程序很多程序猿可能会和我一样,当公司开发项目时,完成功能是第一位,从而总会出现这样的话,这里应该可以写的更好,下版本再说.最近项目接近尾声,感觉需要重新审视一下这个项目,这应该是提升自己和优化项目的最好的办法之一. 废话结束.... 一.分享 方案一:直接使用友盟分享 http://dev.umeng.com/social/android/quick-integration 方案二:分别调用各个平台的sdk 1.分享朋友圈和微信 private void regToWx() { api =

如何很好的Review自己的代码

写这篇博文的原因是因为自己写的代码经常会因为返工,delay项目的交付日期.总结了一下引起项目delay的原因,大概有如下几点: 在没有完全深熟悉需求交互细节的情况下:诸如根据不同渠道设置不同的订单状态变更--超时提醒和订单取消功能. 在没有想清楚自己代码如何实现业务逻辑的情况下:诸如对骑手排班--明天到当前周期结尾的排班及排班详情展示. 是否对业务逻辑有完整的测试用例:商家详情权限功能和可逆向加密算法的测试用例. 往往第一步和第二步是同时出现的,第二步的出现也在很大程度上源自于对需求交互细节的