專欄 | 九章算法
網址 | www.jiuzhang.comcss
有些人以爲,代碼只要寫出來了,程序跑經過了就能夠了,爲何要浪費時間去約束人家怎麼寫代碼呢。可是,現實工做中,咱們發現,很多人就是由於代碼風格不佳,被掛掉了面試,或者出現團隊協做問題。html
爲何代碼風格這麼重要呢?java
以Google爲例,谷歌的代碼庫是向全公司的全部程序猿的,全部的程序猿均可以看到公司全部的代碼。甚至是上古大牛jeff dean親手寫的代碼,好比Map Reduce,GFS,Bigtable的源碼。git
在谷歌的代碼庫裏,至少有20億行代碼。如此龐大的代碼庫,萬萬千千的程序員都要來看,若是沒有統一的代碼風格,閱讀起來是至關困難的。所以,在谷歌,全部的要提交的代碼都須要通過批閱,未經批閱是不可能交到代碼庫裏面的。程序員
所以,Google的代碼庫中,每一級的文件都有相應的文件主,正是由這些文件主來負責管理本文件的代碼規範。程序猿在提交代碼的時候,必須在審批者裏面加上代碼全部文件的文件主批閱。由文件主負責批閱這次交的代碼改動符合整個文件的代碼書寫規範。angularjs
文件主是如何審閱這些代碼的呢?其中代碼的書寫規範,是尤爲重要的審閱內容。包括每個小空格,標點,對齊方式,都必須遵循Google的內部書寫代碼的風格規則。以此保證代碼符合Google統一的格式。因此若是你還在哀怨算法班老師在課堂上給你指出的「不要用Tab, 要用空格」,「變量名後面要有空格」等代碼風格規範,並且不能很好的作到這些基本的代碼風格準則,那麼你不只會在工做中遇到和同事的溝通、協做障礙,並且你有很大的可能由於代碼風格不佳而沒法經過面試。github
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 shell