你們公司做代碼審查嗎?
發佈時間:2014-06-10
-
瀏覽次數:3352次
每當從各種公司聽到他們正在嘗試自動化部署/測試的事情,我都非常關注,但通常會很吃驚,他們很少會考慮去實行代碼審查制度。
看到這種情況,我通常想問:如果代碼沒有經過其它人的審查,你如何知道你要測試的是什麼?這答案(如果有的話)通常是捏着手指頭說有幾個人在做代碼審查或「正在考慮中」。
沒有代碼審查?真的嗎?不可思議?!?
代碼審查不是可有可無的。
不論你採用什麼形式的測試過程,什麼形式的部署過程,沒有代碼審查——game over。為什麼?因為代碼的質量是一種人能看懂的質量。不管你如何測試,有如何嚴謹的部署流程,只有當另外一個人看了這些代碼,並且表明能看懂時,這些代碼才有意義。如果看不懂,你認為這樣的代碼——雖然測試通過、部署符合流程——可以上線嗎?
沒有經過代碼審查,測試說明不了任何問題。測試通過但沒有經過代碼審查的代碼仍然是有bug的。
什麼是代碼審查?
請參考谷歌是如何做代碼審查的。
設計中使用的「走廊UX測試」是說:在開始實現你的設計前,至少需要有一個人看過你的設計。代碼審查是相同的道理。
代碼審查是說:在把你的代碼合併到代碼庫里之前,請至少找一個人看看你的代碼。
如何進行代碼審查?
下面是代碼審查基本的步驟:
- 把身體向左轉。
- 看到另外一個程序員?拍拍他的肩膀。
- 讓他看你的顯示器。
- 說:這代碼你能看懂嗎?我打算把它提交到代碼庫里。
- 聽他的建議。
- 自己做決定:是應該修改一下,還是繼續提交到代碼庫里。
就這樣。
現在,我想告訴你,有大量的代碼審查工具可以使用。它們都能高度的自定義配置。它們的作用都是讓你代碼審查過程更方面、靈活。
簡單的幾款代碼審查工具
下面是我推薦的幾款簡單的代碼審查工具(如果你的公司的程序員少於5千人)。
就是這些。雖然還有很多很多的代碼審查工具,我很少聽說哪個程序員說喜歡它們的。而我的觀點,less, diff, github pull requests能解決我們正常開發中的大部分代碼審查問題。
告別英文字母,中文域名備受青睞
全新網絡標識,華人受惠
母語輸入,方便書寫
一目了然,方便記憶
融入互聯網,再無阻隔保護您的品牌資產,建立您的網絡形象。
中文通用域名的后綴.中國與.cn是等同的
同時登記簡體中文通用域名可以贈送繁體的同一域名。
例如您登記了“時代互聯.cn”,以下三個繁簡域名將會同步指向:、時代互聯.中國、時代互聯.中國 聯繫電話:852-39995400/852-35685366
郵箱:www.support@eranet.com
地址:香港葵涌健康街18號恒亞中心702室
搜索