【转】Code Review(代码复查)

你读过他人的程序代码吗?相信很多人在读他人代码时会有非常痛苦的经历,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;两个程序员会在适当的时候交换他们的工作。虽然在实际项目中真正要实施双人编程可能会有一定的困难。但是这种双人编程的模式只要我们变通 下,软件就可以作为一个整体是属于整个开发团体的,每个程序员都可以修改任何错误,重构任何一段程序,不只局限于自己开发的代码。

posted @ 2010-12-20 09:21  EastFuture  阅读(385)  评论(0编辑  收藏  举报