目的:
Code Review的主要目的,是通過開發人員之間的互相查看代碼,來保證代碼質量,以便交給測試人員的時候,起碼保證代碼質量是比較高的。這只是Code Review的一個主要功能,其實,Code Review還可以幫助新手學習高手的代碼風格及編程思想,能快速提高新手的編程能力。
任務:
其實Code Review主要檢查代碼中是否存在以下方面問題:代碼的一致性、編碼風格、代碼的安全問題、代碼冗餘、是否正確設計以滿足需求(性能、功能等等),具體內容如下:
完整性檢查(Completeness)
代碼是否完全實現了設計文檔中提出的功能需求
代碼是否已按照設計文檔進行了集成和Debug
代碼是否已創建了需要的數據庫,包括正確的初始化數據
代碼中是否存在任何沒有定義或沒有引用到的變量、常數或數據類型一致性檢查(Consistency)
代碼的邏輯是否符合設計文檔
代碼中使用的格式、符號、結構等風格是否保持一致正確性檢查(Correctness)
代碼是否符合制定的標準
所有的變量都被正確定義和使用
所有的註釋都是準確的
所有的程序調用都使用了正確的參數個數可修改性檢查(Modifiability)
代碼涉及到的常量是否易於修改(如使用配置、定義爲類常量、使用專門的常量類等)
代碼中是否包含了交叉說明或數據字典,以描述程序是如何對變量和常量進行訪問的
代碼是否只有一個出口和一個入口(嚴重的異常處理除外)可預測性檢查(Predictability)
代碼所用的開發語言是否具有定義良好的語法和語義
是否代碼避免了依賴於開發語言缺省提供的功能
代碼是否無意中陷入了死循環
代碼是否是否避免了無窮遞歸健壯性檢查(Robustness)
代碼是否採取措施避免運行時錯誤(如數組邊界溢出、被零除、值越界、堆棧溢出等)結構性檢查(Structuredness)
程序的每個功能是否都作爲一個可辯識的代碼塊存在
循環是否只有一個入口可追溯性檢查(Traceability)
代碼是否對每個程序進行了唯一標識
是否有一個交叉引用的框架可以用來在代碼和開發文檔之間相互對應
代碼是否包括一個修訂歷史記錄,記錄中對代碼的修改和原因都有記錄
是否所有的安全功能都有標識可理解性檢查(Understandability)
註釋是否足夠清晰的描述每個子程序
是否使用到不明確或不必要的複雜代碼,它們是否被清楚的註釋
使用一些統一的格式化技巧(如縮進、空白等)用來增強代碼的清晰度
是否在定義命名規則時採用了便於記憶,反映類型等方法
每個變量都定義了合法的取值範圍
代碼中的算法是否符合開發文檔中描述的數學模型可驗證性檢查(Verifiability)
代碼中的實現技術是否便於測試
本文轉自博客園:http://www.cnblogs.com/Apolloge/archive/2007/03/02/661793.html