Code Review(代码复查)
2013-12-20 12:58
281 查看
你读过他人的程序代码吗?相信很多人在读他人代码时会有非常痛苦的经历,Code Review是减少此痛苦的好药方。
1、Code Review 定义与原则
是指程序员定期向其他人讲解自己源程序的活动,这个方法被众多公司采用并被认为是一个行之有效的方法。主要优点有:
◎因为要向大家讲解自己的程序,程序员会更重视自己的工作进度、代码质量。
◎可以互相学习,共同提高,及时发现问题。
◎程序员可掌握他人的程序设计思想和方法,利于维护他人程序
◎中立态度,实际上是要求不要偏激,不要参杂了太多的个人感情。
2、Code Review 的操作流程
在进行Code
Review前,主讲人会提前发出一个通知告诉相关人员要review哪些代码,这样参与者可以抽出时间提前了解相关代码,对不懂的地方做个笔记以便在
Code
Review进行中提出疑问。在我们碰到比较棘手的BUG没有什么思路或大惑不解时,这时找几个相关人员或对此代码也熟悉的人进行一次Code
Review,这时形式比较随意,大家可以临时提出问题,让主讲人解答,在这个过程中可能听的人并不会非常快地了解其中的详细过程,但是讲的人在这个过程
中重新理了一下思路,对所写的代码被迫重新审视了一遍,在其中可能就会发现出解决问题的办法。在Code
Review时有时代码非常多,但可以一个功能模块一个功能模块地从总体到局部,由浅入深层层递进的方式进行。一次Code
Review的时间不要太长,但可以分多次进行。Code
Review中大家会提出问题和建议,集思广益,多个人共同出主意,有些可能一个人没有想到的问题会被大家发现,互相学习,共同进步。
必须注意的是提出疑问时不要参杂个人感情,不要否认及批评他人的成果,不要用自己的习惯去评价他人,这样就失去了Code
Review的真正意义,只会让事情越来越糟,造成团体成员不愿意Review自己的代码。
同时还需要主讲人以认真的态度回答别人的问题,解释清楚review代码里面可能没有说明白的地方。Code
Review不是一个单向的过程,不是一言堂,交互是一个环节。缺少了交互你就可能永远都不知道你的review代码有些什么毛病,甚至不知道你的知识有
些什么类型的缺陷。
3、小结
Code Review也可以说是程序员对自己的工作成果的一个白盒测试。通过Code
Review,不仅可以促使程序员开发出优秀、易懂的程序,而且可以发现潜在的BUG,使团体的每一个成员都对程序有一个整体的了解。还可以促使所有程序
员使用相同的编程规范,发现自动测试所忽略的BUG,促使项目成员之间的沟通。
另一个方面Code
Review令团体任何成员都可以在短时间的接手其他成员进行继续开发,从而保证了软件项目的进度,减少了软件项目的风险。Extreme
Programming软件开发过程提到双人编程:两个程序员共同坐在同一台计算机前,其中一个执行编程任务,另外一个在旁边进行Code
Review;两个程序员会在适当的时候交换他们的工作。虽然在实际项目中真正要实施双人编程可能会有一定的困难。但是这种双人编程的模式只要我们变通
下,软件就可以作为一个整体是属于整个开发团体的,每个程序员都可以修改任何错误,重构任何一段程序,不只局限于自己开发的代码。
1、Code Review 定义与原则
是指程序员定期向其他人讲解自己源程序的活动,这个方法被众多公司采用并被认为是一个行之有效的方法。主要优点有:
◎因为要向大家讲解自己的程序,程序员会更重视自己的工作进度、代码质量。
◎可以互相学习,共同提高,及时发现问题。
◎程序员可掌握他人的程序设计思想和方法,利于维护他人程序
◎中立态度,实际上是要求不要偏激,不要参杂了太多的个人感情。
2、Code Review 的操作流程
在进行Code
Review前,主讲人会提前发出一个通知告诉相关人员要review哪些代码,这样参与者可以抽出时间提前了解相关代码,对不懂的地方做个笔记以便在
Code
Review进行中提出疑问。在我们碰到比较棘手的BUG没有什么思路或大惑不解时,这时找几个相关人员或对此代码也熟悉的人进行一次Code
Review,这时形式比较随意,大家可以临时提出问题,让主讲人解答,在这个过程中可能听的人并不会非常快地了解其中的详细过程,但是讲的人在这个过程
中重新理了一下思路,对所写的代码被迫重新审视了一遍,在其中可能就会发现出解决问题的办法。在Code
Review时有时代码非常多,但可以一个功能模块一个功能模块地从总体到局部,由浅入深层层递进的方式进行。一次Code
Review的时间不要太长,但可以分多次进行。Code
Review中大家会提出问题和建议,集思广益,多个人共同出主意,有些可能一个人没有想到的问题会被大家发现,互相学习,共同进步。
必须注意的是提出疑问时不要参杂个人感情,不要否认及批评他人的成果,不要用自己的习惯去评价他人,这样就失去了Code
Review的真正意义,只会让事情越来越糟,造成团体成员不愿意Review自己的代码。
同时还需要主讲人以认真的态度回答别人的问题,解释清楚review代码里面可能没有说明白的地方。Code
Review不是一个单向的过程,不是一言堂,交互是一个环节。缺少了交互你就可能永远都不知道你的review代码有些什么毛病,甚至不知道你的知识有
些什么类型的缺陷。
3、小结
Code Review也可以说是程序员对自己的工作成果的一个白盒测试。通过Code
Review,不仅可以促使程序员开发出优秀、易懂的程序,而且可以发现潜在的BUG,使团体的每一个成员都对程序有一个整体的了解。还可以促使所有程序
员使用相同的编程规范,发现自动测试所忽略的BUG,促使项目成员之间的沟通。
另一个方面Code
Review令团体任何成员都可以在短时间的接手其他成员进行继续开发,从而保证了软件项目的进度,减少了软件项目的风险。Extreme
Programming软件开发过程提到双人编程:两个程序员共同坐在同一台计算机前,其中一个执行编程任务,另外一个在旁边进行Code
Review;两个程序员会在适当的时候交换他们的工作。虽然在实际项目中真正要实施双人编程可能会有一定的困难。但是这种双人编程的模式只要我们变通
下,软件就可以作为一个整体是属于整个开发团体的,每个程序员都可以修改任何错误,重构任何一段程序,不只局限于自己开发的代码。
相关文章推荐
- Equals 和 hashcode 经典代码
- Code Review&编程习惯&代码质量优化
- SublimeCodeIntel 让sublime…
- Review of Lubuntu&nbsp…
- poj 组合数 1850 Code
- VS2015 查看代码总行数
- 有的时候写好代码调用 REUSE_…
- 邮购了正版蓝光碟《CODE GEASS叛逆…
- (转)ns2代码(int agrc,const cha…
- OACR-Microsoft Auto Code Review(微软自动代码分析器) 一
- MyEclipse 格式化代码调整每行长度
- 关闭AVEVA Marine和Review的许可到…
- ORA-00600: 内部错误代码, 参数: […
- 代码编辑器Sublime Text&nbsp…
- 【模拟】Books CodeForces 279B
- Review of Lubuntu&nbsp…
- ZOJ 2851 Code Formatter
- Jupiter Code Review Reference -- Jupiter代码审查工具使用参考 (修改版)
- Sourcery CodeBech Lite安装及使用
- SMS Error code: +CMS