转载代码审查:每个人都应该参与的任务(转载代码审查要多久)(如何有效的进行代码审查)

访客 142 0

原文链接:http://sd.csdn.net/a/20110801/302447.html

本文是基于外刊IT评论《谷歌是如何进行代码审查》中的翻译,原文取自《Things Everyone Should Do: Code Review》一文。

以下是内容的概要:

转载代码审查:每个人都应该参与的任务(转载代码审查要多久)(如何有效的进行代码审查)-第1张图片-谷歌商店上架

本文的创作者为Mark CC

在之前的文章中曾提到,我已经离开了Google公司。目前我还没有确定自己应该去哪里——有两三个非常诱人的工作机会摆在我的面前。由于此刻我不再受雇于任何公司,因此我想可以写一些专业性强、有趣味但可能会引起同事和管理层关系紧张的内容。

Google是一家卓越的企业,他们创造了许多令人赞叹的成就,无论是在公司外部还是内部。然而,有一些在公司内部并非保密的事情,在外界却没有得到充分广泛的讨论。这正是我今天要谈论的内容。

让Google的程序如此出色的一个最重要因素看起来非常简单:代码审查。并不仅仅是Google在做这件事情——代码审查已经被广泛认可为一种非常有效的做法,许多人都在采用这种方法。然而,我还没有见过第二家像Google这样规模庞大的公司能够如此广泛地应用代码审查。在Google,没有任何产品或项目的程序代码可以在经过有效的代码审查之前提交到代码库中。

每个人都必须接受代码审查,这是一项非常正规的要求。无论是产品程序还是其他任何东西,在重要的软件开发工作中,代码审查都应该成为基本制度。尽管它并不需要太多工作量,但其效果却是巨大的。

“代码审查能带给我们哪些收获?”

明显的是,在提交代码之前,用另一双眼睛仔细检查一遍,以防止错误的混入。这是对代码审查最常见的理解,也是对其好处最广泛认可的观点。然而,根据我的经验来看,这反而不是最重要的方面。虽然人们确实在代码审查中发现了错误,但很明显,在代码审查中能够发现的大部分错误都微不足道,并且程序作者只需花几分钟就能找到它们。真正需要耗费时间才能发现的错误,并不能在代码审查中找到。

代码审查的最重要的作用是完全基于社交性质的。

当你从事编程工作并且意识到会有同事对你的代码进行审查时,你的编程态度将发生翻天覆地的变化。你会更加注重代码的整洁性,添加更好的注释,并构建更优秀的程序结构——因为你知道那个与你关系密切的人将会仔细检查你所写的代码。没有代码审查,虽然人们最终还是会看到你所写的程序,但这种感受不是即刻产生并给予同等紧迫感和个人评判。

还有一个非常重要的优点,代码审查可以传递知识。

在许多开发团队中,常常采用每个人负责一个核心模块的方式,使得每个人只关注自己负责的那部分。除非同事的模块对自己的程序产生了影响,他们很少进行交流。这种情况带来的后果是,每个模块只有一个人熟悉其中的代码。如果这个人休假或者不幸离职了,其他人将束手无策。通过代码审查至少可以确保有两个人熟悉这些程序——作者和审查者。虽然审查者可能并不能像程序作者一样对程序非常了解,但他会熟悉程序的设计和架构,并且这一点至关重要。

当然,没有任何事情可以轻而易举地完成。根据我的经验,在你能够正确进行代码审查之前,你需要花时间进行训练和学习。我发现人们在代码审查时常常犯一些错误,这导致了很多麻烦——尤其是那些缺乏经验的审查者经常出现这种情况,他们给人们留下了一个非常不愉快的代码审查体验,并成为人们接受代码审查制度的一个障碍。

代码审查的最重要原则之一是在提交代码之前发现其中的问题,确保其正确性。然而,在代码审查中最常见的错误是新手经常犯的——即审查者会根据自己的编程习惯来评判他人的代码。

对于一个问题,通常我们可以找到多种解决方法。而对于一种解决方案,我们有无数的编码方式来实现它。作为一名审查者,你的任务不是确保被审查的代码与你自己的编码风格完全相同——因为这几乎是不可能的。作为代码审查者,你的任务是确保作者所写代码的正确性。一旦这个原则被违背,你将会感到沮丧和挫败——这绝非我们期望得到的结果。

问题在于,这种错误如此普遍且容易犯。作为程序员,当你面临问题时,往往会将自己能想到的解决方案视为标准答案。然而事实并非如此,作为一名优秀的审查者,你需要明白这个道理。

代码审查的第二个常见问题是,人们会感到压力,觉得自己必须说些什么。你知道作者花费了大量时间和精力来编写这些程序——难道我们不应该表达一下赞赏吗?不,其实并不需要。

无论何时,都可以毫不犹豫地说一句“哇,真不错”。若你总是努力寻找缺点来批评,只会损害自己的声誉。当你不厌其烦地挑剔一些东西,并且只是为了说点什么而言辞审查时,被审视者会明白你只是为了填补沉默而发表这些话。此后,人们将对你的评论漠视不计。

第三个关键点是快速性。

进行代码审查时,不能匆忙草率,但也要能高效完成。你的同伴正在等待你的参与。如果你和同事们不愿意花太多时间进行代码复查,并且能够迅速完成,那么被审查者会感到沮丧,因为这种代码审查只会带来失望的感觉。就好像打断了大家手头的工作来进行审查一样。然而事情并不应该如此。你无需推掉手头上的任务来做代码审查,但如果中途耽误了几个小时,可以稍作休息、喝杯茶、冲个澡或聊会儿闲天后再回到审查现场继续工作。如果你真是这样做的话,我相信没有人愿意在那里等着你。”

这段话的原文来源是scientopia。

译文来源于外刊IT评论

原文链接:http://sd.csdn.net/a/20110801/302447.html

本文内容转载自https://www.cnblogs.com/ainiaa/archive/2011/08/01/2124024.html

标签: 代码 谷歌商店上架 谷歌是如何

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~