Google是如何做代码审查的? 代码审查有什么作用?

所属分类: 网站运营 / 建站经验 阅读数: 159
收藏 0 赞 0 分享

谷歌公司 代码审核 代码审核工具 Google代码审核

Google是一个非常优秀的公司。他们做出了很多令人称赞的东西—既是公司外部,人们可以看到的东西,也是公司内部。有一些在公司内部并不属于保密的事情,在外部并没有给予足够广泛的讨论。

让Google的程序如此优秀的一个最重要的事情看起来是非常的简单:代码审查。并不是只有Google做这个事情—代码审查已经被广泛的认可为一种非常好的做法,很多人都在这样做。但我还没有看到第二家这样大的公司能把这种事情运用的如此普遍。在Google,没有程序,任何产品、任何项目的程序代码,可以在没有经过有效的代码审查前提交到代码库里的。

所有人都要经过代码审查。并且很正规的:这种事情应该成为任何重要的软件开发工作中一个基本制度。并不单指产品程序——所有东西。它不需要很多的工作,但它的效果是巨大的。

从代码审查里能得到什么?

很显然:在代码提交前,用第二群眼睛检查一遍,防止bug混入。

这是对其最常见的理解,是对代码审查的好处的最广泛的认识。但是,依我的经验来看,这反倒是它最不重要的一点。人们确实在代码审查中找到了bug。可是,这些在代码审查中能发现的绝大部分bug,很显然,都是微不足道的bug,程序的作者花几分钟的时间就能发现它们。真正需要花时间去发现的bug不是在代码审查里能找到的。

代码审查的最大的功用是纯社会性的。如果你在编程,而且知道将会有同事检查你的代码,你编程态度就完全不一样了。你写出的代码将更加整洁,有更好的注释,更好的程序结构——因为你知道,那个你很在意的人将会查看你的程序。没有代码审查,你知道人们最终还是会看你的程序。但这种事情不是立即发生的事,它不会给你带来同等的紧迫感,它不会给你相同的个人评判的那种感受。

还有一个非常重要的好处。代码审查能传播知识。在很多的开发团队里,经常每一个人负责一个核心模块,每个人都只关注他自己的那个模块。除非是同事的模块影响了自己的程序,他们从不相互交流。这种情况的后果是,每个模块只有一个人熟悉里面的代码。如果这个人休假或——但愿不是——辞职了,其他人则束手无策。通过代码审查,至少会有两个人熟悉这些程序——作者,以及审查者。审查者并不能像程序的作者一样对程序十分了解——但他会熟悉程序的设计和架构,这是极其重要的。

当然,没有什么事情能简单的做下来的。依我的经验,在你能正确的进行代码审查前,你需要花时间锻炼学习。我发现人们在代码审查时经常会犯一些错误,导致不少麻烦——尤其在一些缺乏经验的审查者中经常的出现,他们给了人们一个很遭的代码审查的体验,成为了人们接受代码审查制度的一个障碍。

最重要的一个原则:代码审查用意是在代码提交前找到其中的问题——你要发现是它的正确。在代码审查中最常犯的错误——几乎每个新手都会犯的错误——是,审查者根据自己的编程习惯来评判别人的代码。

对于一个问题,通常我们能找出十几种方法去解决。对于一种解决方案,我们能有百万种编码方案来实现它。作为一个审查者,你的任务不是来确保被审查的代码都采用的是你的编码风格——因为它不可能跟你写的一样。作为一段代码的审查者的任务是确保由作者自己写出的代码是正确的。一旦这个原则被打破,你最终将会倍感折磨,深受挫折——这可不是我们想要的结果。

问题在于,这种错误是如此的普遍而易犯。如果你是个程序员,当你遇到一个问题,你能想到一种解决方案——你就把你想到的方案作为标准答案。但事情不是这样的——作为一个好的审查者,你需要明白这个道理。

代码审查的第二个易犯的毛病是,人们觉得有压力,感觉非要说点什么才好。你知道作者用了大量的时间和精力来实现这些程序——不该说点什么吗?

不,你不需要。

只说一句“哇,不错呀”,任何时候都不会不合适。如果你总是力图找出一点什么东西来批评,你这样做的结果只会损害自己的威望。当你不厌其烦的找出一些东西来,只是为了说些什么,被审查人就会知道,你说这些话只是为了填补寂静。你的评论将不再被人重视。

第三是速度。你不能匆匆忙忙的进行一次代码审查——但你也要能迅速的完成。你的同伴在等你。如果你和你的同事并不想花太多时间进行代码复查,你们很快的完成,那被审查者会觉得很沮丧,这种代码审查带来的只有失望的感觉。就好象是打搅了大家,使大家放下手头的工作来进行审查。事情不该是这样。你并不需要推掉手头上的任何事情来做代码审查。但如果中途耽误了几个小时,你中间还要休息一会,喝杯茶,冲个澡,或谈会儿闲话。当你回到审查现场,你可以继续下去,把事情做完。如果你真是这样,我想没有人愿意在那干等着你。

以上就是对Google是如何做代码审查的以及代码审查有什么作用全部内容的介绍,更多内容请继续关注脚本之家!

更多精彩内容其他人还在看

空手套白狼:说说招投标网站的一些内幕 掌握资源的网站远比内容原创更重要

我非常欢迎这类文章的投稿,并会做传播,作者是一位建筑公司的经理,会通过互联网与大量招标类网站有接触,并通过自己的经历告诉了我们这些网站的内幕,通过本文可以了解到:掌握资源的网站远比内容原创更重要
收藏 0 赞 0 分享

百度站长平台:站点整改反馈功能即将上线

百度站长平台今日发布公告表示即将推出站点整改反馈功能,即若站长网站内容存在质量或是作弊问题,百度站长平台会将相关问题告知站长。若能在规定时间内修正,网站可有一次避免被惩罚的机会
收藏 0 赞 0 分享

建站经验:网站建设公司发展必备的22条商规

22条商规,是一本被神话了的商业著作,其实它翻来覆都在讲一个道理:成为你行业的标杆,然后一切你说了算。记得有位朋友跟我说,22商规其实只有最后一条定律是最重要的,其他的都是空谈。不过,本文希望能站在建站公司的角度重新解读,不当之处也多情谅解。
收藏 0 赞 0 分享

虚拟主机安装Dropbox备份网站的教程

虽然目前从国内访问Dropbox有小小困难,但是从国外访问还是正常的,对于拥有国外Linux虚拟主机的用户,可能会遇到这样的需求,就是如何将国外虚拟主机上的网站备份到Dropbox上,下面我以Dreamhost为例介绍一下备份的方法
收藏 0 赞 0 分享

站长再谈博客,理性、务实、交流是本质

如今大家都迷恋着资讯站、小说站、电商站的经营,已经很少有人再去关心所谓的博客了。还记得09年左右,独立博客迎来自身发展的黄金时期,涌现了牟长青、一格电、卢松松、月光博客等一系列知名博客,而这其中卢松松博客也已经实现了突破发展,向着平台继续前进
收藏 0 赞 0 分享

关于网站备案的44个问题和经验总结

这篇文章主要介绍了关于网站备案的44个问题和经验总结,这些问题是在备案过程中经常遇到的,需要的朋友可以参考下
收藏 0 赞 0 分享

企业建站注意事项:黑心建站公司的陷阱-域名所有者

这篇文章主要介绍了企业建站注意事项:黑心建站公司的陷阱-域名所有者,建站时购买的域名持有者一定要是息的资料,否则等着被坑吧,需要的朋友可以参考下
收藏 0 赞 0 分享

你赚到钱了吗?站长们之所以赚不到钱是因为缺乏这些思路

我们有没有找到问题的根源,我想这样的问题根源不在于个人的能力,而在于自己的思维和策略。那么,发现了问题根源,我们用什么样的方法去解决,这才是最重要的,也是大家最想知道的事情。今天,我就根据自己的一些想法,给大家分享一下解决办法
收藏 0 赞 0 分享

从“郭美美赌球被抓”这事件来谈谈百度搜索的用户体验

最近郭美美又火了一把,而且这把火并不好过,让她欠债2.6亿元,并且被带到了自己最不愿去的地方-警察局“做客”。今天本文就和大家一起从从“郭美美赌球被抓”这事件来谈谈百度搜索的用户体验
收藏 0 赞 0 分享

站长必看:竞价只靠钱来砸实在是太傻了!

虽然站长圈对于百度的这个商业行为十分厌恶,但是从自身利益上讲,我们还要遵守百度的游戏规则。不过,要说到效果,竞价的确有一定的话语权,有些专门竞价的站长的确是从中受益不少,只不过钱砸的太狠了
收藏 0 赞 0 分享
查看更多