大部分软件公司可能都有自己的代码编写规范,但是大部分的规范又是粗略到不行不行的,粗到可以忽略,粗略到不同人的代码可以各成一体,同时又符合规范。前几天无意中看到了 Google 内部使用的编程规范,我找出了其中 Java 的规范。链接在此:
我个人认为这份代码规范的绝大部分还都是可取的。有些虽然觉得不习惯,但是也有其道理。比如将 Tab 定义为两个空格,虽然我个人不习惯,但是这个设定却有利于缩短代码每行的长度。
总体而言,这份规范还是很详细的,反映了一个出色的软件公司应有的对细节的重视,引用其中对驼峰命名法的例子:
Prose form | Correct | Incorrect |
"XML HTTP request" | XmlHttpRequest | XMLHTTPRequest |
"new customer ID" | newCustomerId | newCustomerID |
"inner stopwatch" | innerStopwatch | innerStopWatch |
"supports IPv6 on iOS?" | supportsIpv6OnIos | supportsIPv6OnIOS |
"YouTube importer" | YouTubeImporter YoutubeImporter* |
再看我们的代码,其实很多变量命名都不符合驼峰命名法
我想,一份详尽实用的代码编写规范是一个公司能写出好代码的必要不充分条件。
顺便附上 Oracle 的 Java 规范 http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html