剛剛!谷歌更新開源代碼評審規(guī)范,代碼好不好一目了然
谷歌很早之前就已經(jīng)建立了一套通用的工程實戰(zhàn)指南,它幾乎囊括了所有編程語言與各種類型的項目。這些文件代表了谷歌各種最佳實踐的集合。今天,谷歌將這一套代碼評審(Code Review)規(guī)范開源了出來。
目前,這份代碼評審規(guī)范實際包含兩套獨立的文件:
代碼評審者的指南
- 代碼評審標準
- 代碼評審希望達到什么
- 在代碼評審中導(dǎo)航修改列表
- 代碼評審的速度
- 如何寫審查的評論
- 處理代碼評審的回退
CL作者指南
- 寫一個好的修改列表描述
- 構(gòu)建一些小的修改列表
- 如何處理代碼評審者的評論
其中一些文檔中使用了Google的內(nèi)部術(shù)語,Google也給出了詳細的解釋:
CL:表示“變更列表(changelist)”,意思是已經(jīng)提交到版本控制或正在進行代碼檢查的一個獨立的更改。其他組織通常稱為“改變”或“補丁”。
LGTM:意思是“在我看來不錯(Looks Good to Me)”,這是代碼審閱者在批準 CL 時說的。
那么 ,代碼審查者指南都在審查什么呢?代碼審查應(yīng)該查看:
- 設(shè)計:代碼是否經(jīng)過精心設(shè)計并適合你的系統(tǒng)?
- 功能:代碼的行為是否與作者的意圖相同?代碼的行為方式對用戶有好處嗎?
- 復(fù)雜性:代碼可以變得更簡單嗎?以后其他開發(fā)人員閱讀此代碼時是否能夠輕松理解并使用
- 測試:代碼是否具有正確且設(shè)計良好的自動化測試?
- 命名:開發(fā)人員是否為變量,類,方法等設(shè)置了易于理解的命名?
- 注釋:評代碼注釋是否清晰并且有用?
- 風(fēng)格:代碼是否遵循標準的編寫風(fēng)格?
- 文檔:開發(fā)人員是否也更新了相關(guān)文檔?
整個代碼評審指南分為了很多模塊,我們也沒辦法全部介紹一遍。感興趣的伙伴們可以自行詳細查閱
目前,eng-practices已經(jīng)在GitHub上標星16.2K,1.6K 個Fork(GitHub地址:https://github.com/google/eng-practices/blob/master/review/index.md)
該項目最近更新顯示是昨日,對其中一個文件進行更改,包含2個增加和2個刪除,具體更新如下: