代碼審查清單(Code Review Checklist)

原文鏈接:http://blog.jobbole.com/83595/

項目Code?Review箕憾,自己一頭霧水福扬,以前的自己偷懶脯倒,根本沒有養(yǎng)成Code Review的好習慣愿吹,相信任何知識學了就不晚,學了就有用浊洞,多多學習牵敷,感謝作者的辛苦付出,致敬法希。

在我們關于高效代碼審查的博文中枷餐,我們建議使用一個檢查清單。在代碼審查中苫亦,檢查清單是一個非常好的工具——它們保證了審查可以在你的團隊中始終如一的進行毛肋。它們也是一種保證常見問題能夠被發(fā)現(xiàn)并被解決的便利方式。

軟件工程學院的研究表明屋剑,程序員們會犯15-20種常見的錯誤润匙。所以,通過把這些錯誤加入到檢查清單當中唉匾,你可以確保不論什么時候孕讳,只要這些錯誤發(fā)生了,你就能發(fā)現(xiàn)它們肄鸽,并且可以幫助你杜絕這些錯誤卫病。

為了幫助你開始創(chuàng)建一個清單,這里列出了一些典型的內容:

代碼審查清單

常規(guī)項

- 代碼能夠工作么典徘?它有沒有實現(xiàn)預期的功能,邏輯是否正確等益咬。

- 所有的代碼是否簡單易懂逮诲?

-?代碼符合你所遵循的編程規(guī)范么帜平?這通常包括大括號的位置,變量名和函數(shù)名梅鹦,行的長度裆甩,縮進,格式和注釋齐唆。

-?是否存在多余的或是重復的代碼嗤栓?

-?代碼是否盡可能的模塊化了?

-?是否有可以被替換的全局變量箍邮?

-?是否有被注釋掉的代碼茉帅?

-?循環(huán)是否設置了長度和正確的終止條件?

-?是否有可以被庫函數(shù)替代的代碼锭弊?

-?是否有可以刪除的日志或調試代碼堪澎?

安全

-?所有的數(shù)據(jù)輸入是否都進行了檢查(檢測正確的類型,長度味滞,格式和范圍)并且進行了編碼樱蛤?

-?在哪里使用了第三方工具,返回的錯誤是否被捕獲剑鞍?

-?輸出的值是否進行了檢查并且編碼昨凡?

-?無效的參數(shù)值是否能夠處理?

文檔

-?是否有注釋蚁署,并且描述了代碼的意圖便脊?

-?所有的函數(shù)都有注釋嗎?

-?對非常規(guī)行為和邊界情況處理是否有描述形用?

-?第三方庫的使用和函數(shù)是否有文檔就轧?

-?數(shù)據(jù)結構和計量單位是否進行了解釋?

-?是否有未完成的代碼田度?如果是的話妒御,是不是應該移除,或者用合適的標記進行標記比如‘TODO’镇饺?

測試

-?代碼是否可以測試乎莉?比如,不要添加太多的或是隱藏的依賴關系奸笤,不能夠初始化對象惋啃,測試框架可以使用方法等。

-?是否存在測試监右,它們是否可以被理解边灭?比如,至少達到你滿意的代碼覆蓋(code coverage)健盒。

-?單元測試是否真正的測試了代碼是否可以完成預期的功能绒瘦?

-?是否檢查了數(shù)組的“越界“錯誤称簿?

-?是否有可以被已經(jīng)存在的API所替代的測試代碼?

-?你同樣需要把特定語言中有可能引起錯誤的問題添加到清單中惰帽。

-?這個清單故意沒有詳盡的列出所有可能會發(fā)生的錯誤憨降。你不希望你的清單是這樣的,太長了以至于從來沒人會去用它该酗。僅僅包含常見的問題會比較好授药。

優(yōu)化你的清單

把使用清單作為你的起點,針對特定的使用案例呜魄,你需要對其進行優(yōu)化悔叽。一個比較棒的方式就是讓你的團隊記錄下那些在代碼審查過程中臨時發(fā)現(xiàn)的問題,有了這些數(shù)據(jù)耕赘,你就能夠確定你的團隊常犯的錯誤骄蝇,然后你就可以量身定制一個審查清單。確保你刪除了那些沒有出現(xiàn)過的錯誤操骡。(你也可以保留那些出現(xiàn)概率很小九火,但是非常關鍵的項目,比如安全相關的問題)册招。

得到認可并且保持更新

基本規(guī)則是岔激,清單上的任何條目都必須明確,而且是掰,如果可能的話虑鼎,對于一些條目你可以對其進行二元判定。這樣可以防止判斷的不一致键痛。和你的團隊分享這份清單并且讓他們認同你清單的內容是個好主意炫彩。同樣的,要定期檢查你的清單絮短,以確保各條目仍然是有意義的江兢。

有了一個好的清單,可以提高你在代碼審查過程中發(fā)現(xiàn)的缺陷個數(shù)丁频。這可以幫助你提高代碼標準杉允,避免質量參差不齊的代碼審查。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末席里,一起剝皮案震驚了整個濱河市叔磷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奖磁,老刑警劉巖改基,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異咖为,居然都是意外死亡寥裂,警方通過查閱死者的電腦和手機嵌洼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門案疲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來封恰,“玉大人,你說我怎么就攤上這事褐啡∨堤颍” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵备畦,是天一觀的道長低飒。 經(jīng)常有香客問我,道長懂盐,這世上最難降的妖魔是什么褥赊? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮莉恼,結果婚禮上拌喉,老公的妹妹穿的比我還像新娘。我一直安慰自己俐银,他們只是感情好尿背,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捶惜,像睡著了一般田藐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吱七,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天汽久,我揣著相機與錄音,去河邊找鬼踊餐。 笑死景醇,一個胖子當著我的面吹牛,可吹牛的內容都是我干的市袖。 我是一名探鬼主播啡直,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼酒觅!你這毒婦竟也來了?” 一聲冷哼從身側響起微峰,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤舷丹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蜓肆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颜凯,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡谋币,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了症概。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蕾额。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖彼城,靈堂內的尸體忽然破棺而出诅蝶,到底是詐尸還是另有隱情,我是刑警寧澤募壕,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布调炬,位于F島的核電站,受9級特大地震影響舱馅,放射性物質發(fā)生泄漏缰泡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一代嗤、第九天 我趴在偏房一處隱蔽的房頂上張望棘钞。 院中可真熱鬧,春花似錦资溃、人聲如沸武翎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宝恶。三九已至,卻和暖如春趴捅,著一層夾襖步出監(jiān)牢的瞬間垫毙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工拱绑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留综芥,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓猎拨,卻偏偏與公主長得像膀藐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子红省,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內容

  • (轉)代碼審查(Code Review)清單在我們關于高效代碼審查的博文中额各,我們建議使用一個檢查清單。在代碼審查中...
    一個就夠啦閱讀 416評論 0 2
  • 敏捷中高效開發(fā)的一個方法“結對開發(fā)”吧恃,目前沒有看到哪個開發(fā)團隊有這樣實行虾啦。不嚴謹?shù)拈_發(fā)思維會造成后續(xù)出現(xiàn)很多缺陷,...
    春風仿佛愛情閱讀 237評論 0 0
  • 在我們關于高效代碼審查的博文中,我們建議使用一個檢查清單傲醉。在代碼審查中蝇闭,檢查清單是一個非常好的工具——它們保證了審...
    i云哲閱讀 556評論 0 1
  • 突然喜歡上她 她和爺爺用家鄉(xiāng)話通電話 她頭發(fā)里有溫暖的雨水味 雨下在干燥空白的年齡 連連數(shù)月,青苔一點沒有葷腥味 ...
    丁千閱讀 149評論 0 1
  • 今天看了曼昆的《經(jīng)濟學原理》硬毕,一直以來被推薦呻引。但是好笑的是,即使我是商科專業(yè)的昭殉,也對它沒什么興趣苞七。 今天偶然翻看,...
    苧曦閱讀 856評論 0 0