代码评审究竟有什么好处?
在前期发现问题,提高软件质量,降低软件成本。
事实上,代码评审的好处远不止这些。有些项目经理或者开发人员不愿意多提评审,Coding的过程包含的内容非常丰富,如果只把一个字符一个字符地敲代码叫做Coding,未免悲哀了一点。优秀的项目,编码阶段实际敲代码的时间不会很长;优秀的程序员,大部分时间都用来思考了。
我来说说代码评审其它鲜为人知的好处,兴许能改变某些同学的看法呢。
增加阅历,学习别人代码的可贵之处
和英语学习是一个道理,如果只听一种纯正口音的英语,英文反而不容易学好,我们需要阅读各种营养的代码,广泛阅读能帮助开阔眼界,积累一些好的设计思路,甚至提高阅读恶心代码的免疫能力。
对工程和业务逻辑的熟悉
和盲目地走读代码不同,代码评审之前起码是对大致的业务和实现有一定了解,是带着问题去看代码的,更容易帮助自己理清代码实现,熟悉业务逻辑。
大声地鼓励,宽容地讨论,知识共享,给团队一个互相学习进步的氛围
代码评审不是挑错,看到优秀的代码,要说出来,让大家都看得到,这是那些优秀代码的创造者们应得的奖励。团队中的其他人听到了表扬,阅读了代码,从身边最实际的例子当中收获了成长。
评审过程中,提出的问题未必最终被接受,但是在问题确认的辩驳、争论过程中,很容易见到思维的火花,所谓“道理越辩越明”,一个团队需要有这样充满生气的讨论。
及时识别出代码设计的缺陷,找到需要重构的地方
有一种观点很可怕:写最终的产品代码才是王道,不把最终的代码敲出来,程序员不放心,项目经理不放心,老大们更不放心——“你们的产出率是多少行/天啊?”
软件的精华应当在设计,如果说做软件是一种充满创造性的劳动,那么思考能力正是真正将优秀的软件开发和简单的体力劳动所区分开的核心因素。遗憾的是具备相当思考特质的程序员越来越不好找了,一定程度上,敏捷和TDD甚至助长了这种轻视前期设计阶段的情形(敏捷和TDD本身是没有问题的,问题终归来自实践的“人”);“先写呗,开发的过程中,如果发现明显不合理的地方,再重构呗!”,在很多情况下,重构、尤其是一定规模下的重构很可能会成为噩梦。
代码评审不能完全解决这个问题,但可以通过评审发现设计方面的问题,可以反思设计的疏漏,提高团队成员的设计能力。
找出安全、性能、依赖和兼容性等测试不易发现的问题
把问题的寻找全部依赖于测试是可怕的,同等发布质量的前提下,测试发现问题的比重越小,修改的成本也就越小。在很多公司,都没有单个版本的专职测试(但可能有专职负责若干个产品集成的测试人员),但这不意味着版本质量差,事实上,很可能每一个开发人员都可以是一个优秀的测试人员;而更可能的情况是,Story转测试之后软件接近商用,发现的问题并不多。等到上线,代码有多个人阅读,他们对check in的代码共同保证质量、承担责任,远好过出了问题对某一个人的追查。
评审新员工的代码,给新员工引导一个实实在在的方向
犯过的错误容易记忆,具体的问题容易记忆,对于新员工来说,给他们代码中肯的评价,可以帮助他们上路。比如我们常说不要过度设计,可是怎么样才算过度设计,如果给新员工指出他代码中这样一个实际的问题,他一定不容易忘记。
发挥团队中“牛人”的作用
这些团队中的“牛人”可不见得写得了所有的代码,但是他们可以评审绝大多数代码,把他们的作用发挥出来。他们未必要去审查每一条上库的语句,但是他们需要保证上库代码的质量,评审,给项目的质量带来事半功倍的提升。
PS:这篇文章里面,还提到了几种牛叉的评审风格。
文章系本人原创,转载请注明出处和作者
分享到:
相关推荐
Sun Microsystems的股票代码曾是"SUNW",后来转变为代表其核心产品的"JAVA",反映了其对Java编程语言的贡献。 激光打印机的普及,许多人可能认为是由惠普或佳能这样的大厂推动的,但事实上,苹果公司在其中扮演了...
### Windows XP 鲜为人知的70招:系统优化技巧 #### 一、系统启动项管理 在 Windows XP 中,可以通过多种方式来管理和优化系统的启动项,从而提高系统的启动速度和性能。例如,可以使用“运行”命令窗口输入 `...
【Excel鲜为人知的35招秘技】这篇文章是一篇关于Excel高级技巧的总结,旨在帮助用户提升在Excel中的工作效率和数据处理能力。以下是一些关键知识点: 1. **建立分类下拉列表填充项** - 数据有效性:通过“数据”...
Windows XP鲜为人知的73招Windows XP鲜为人知的73招Windows XP鲜为人知的73招Windows XP鲜为人知的73招Windows XP鲜为人知的73招Windows XP鲜为人知的73招Windows XP鲜为人知的73招
这些鲜为人知的C++符号,可直接在代码中使用,但实践中不推荐这么做,可作为茶余饭后的乐趣了解C++的另一面。 虽然它们鲜为人知,但却不是GNU g++独有的,而是C++标准定义的,找一本C++标准书或pdf文档看看,就...
以下,我们将深入探讨几个在Excel中鲜为人知却极为实用的小技巧,帮助用户提升工作效率,更加灵活地处理数据。 ### 快速选中所有非空单元格 在处理大型数据集时,选中所有包含数据的单元格是一项常见的需求。传统...
在Excel表格中,有一个隐藏的实用功能叫做“照相机”工具,它可以帮助用户轻松地将一个工作表的内容实时同步到另一个工作表上,而不仅仅是数据的简单复制。这个功能尤其适用于需要跨工作表展示和更新相同信息的场景...
鲜为人知的Windows7实用技巧.pdf
鲜为人知的秘密—地产大腕的野史传闻 技术领域中,我们常常关注大腕们的成功故事,但鲜为人知的是他们的出身和成长历程。通过本文,我们将对大腕们的“史前档案”进行一次仔细整理,了解他们在发迹之前的生活,并...
"excel鲜为人知的35招秘技2" 本文将从Excel鲜为人知的35招秘技2中提取知识点,总结出以下几个方面的内容: 一、快速画边框 在Excel 2002及更高版本中,可以使用“格式”工具栏上“边框”右侧的下拉按钮,选择...
Photoshop 鲜为人知的75个技巧
在Excel的世界里,隐藏着许多鲜为人知但极具威力的功能和技巧,这些秘笈能够极大地提升你的工作效率,使你在处理数据时游刃有余。以下就是一些Excel中的实用技巧,结合"Excel鲜为人知的35招秘技1.doc"和"Excel...
以下是一些Excel鲜为人知的秘技,包括建立分类下拉列表填充项、建立“常用文档”新菜单、让不同类型数据用不同颜色显示以及制作“专业符号”工具栏。 1. **建立分类下拉列表填充项** 这种方法用于确保数据的一致性...
Excel鲜为人知的35招秘技.doc
手机里鲜为人知的秘密,你每天都在用手机,但是这些你都 不知道,要成为手机高手,需要继续学习!
它具有丰富的功能和强大的计算能力,而这些鲜为人知的技巧能够帮助用户更高效地使用Excel,提升工作效率。以下是一些不常见的Excel技巧: 一、让不同类型数据用不同颜色显示 在Excel中,可以使用条件格式化功能来...
5条鲜为人知的Windows小技巧.docx
在本文中,我们将探讨Excel鲜为人知的35招秘技,以提升你的工作效率。 首先,我们来看如何建立分类下拉列表填充项。这个功能在处理大量数据时特别有用,可以确保数据的一致性和准确性。步骤包括: 1. 在Sheet2中...