Google 是如何审批20亿行代码的?coding style 真的很重要!

12,315 阅读3分钟

专栏 | 九章算法
网址 | www.jiuzhang.com

有些人觉得,代码只要写出来了,程序跑通过了就可以了,为什么要浪费时间去约束人家怎么写代码呢。但是,现实工作中,我们发现,不少人就是因为代码风格不佳,被挂掉了面试,或者出现团队协作问题。

为什么代码风格这么重要呢?

以Google为例,谷歌的代码库是向全公司的所有程序猿的,所有的程序猿都可以看到公司所有的代码。甚至是上古大牛jeff dean亲手写的代码,比如Map Reduce,GFS,Bigtable的源码。

在谷歌的代码库里,至少有20亿行代码。如此庞大的代码库,万万千千的程序员都要来看,如果没有统一的代码风格,阅读起来是相当困难的。因此,在谷歌,所有的要提交的代码都需要经过批阅,未经批阅是不可能交到代码库里面的。

因此,Google的代码库中,每一级的文件都有相应的文件主,正是由这些文件主来负责管理本文件的代码规范。程序猿在提交代码的时候,必须在审批者里面加上代码所有文件的文件主批阅。由文件主负责批阅此次交的代码改动符合整个文件的代码书写规范。

文件主是如何审阅这些代码的呢?其中代码的书写规范,是尤其重要的审阅内容。包括每一个小空格,标点,对齐方式,都必须遵循Google的内部书写代码的风格规则。以此保证代码符合Google统一的格式。所以如果你还在哀怨算法班老师在课堂上给你指出的“不要用Tab, 要用空格”,“变量名后面要有空格”等代码风格规范,而且不能很好的做到这些基本的代码风格准则,那么你不仅会在工作中遇到和同事的沟通、协作障碍,而且你有很大的可能因为代码风格不佳而无法通过面试

Google的代码风格标准是给所有程序员的标准,任何人写的代码,如果代码风格有问题,别人都可以要求你修改。要知道,每次的代码提交,系统都会发邮件抄送给整个团队。这样做的目的是保证团队的所有人知道每次代码修改原因,保证团队代码符合相同的规范

下面我给出Google官方几种代码的Coding Style Guide:

C++ Style Guide
Objective-C Style Guide
Java Style Guide
Python Style Guide
R Style Guide
Shell Style Guide
HTML/CSS Style Guide
JavaScript Style Guide
AngularJS Style Guide
Common Lisp Style Guide
Vimscript Style Guide
XML Document Format Style Guide


欢迎关注我的微信公众号:九章算法(ninechapter)。
精英程序员交流社区,定期发布面试题、面试技巧、求职信息等

九章算法,IT教育领域的深耕者