java代码审查检查表
java代碼審查檢查表
| 重要性 | 激活 | 級別 | 檢查項 | 
| 總計 | ? | ? | ? | 
| 命名 | ? | ? | ? | 
| 重要 | ? | 20 | 命名規則是否與所采用的規范保持一致? | 
| ? | ? | 20 | 是否遵循了最小長度最多信息原則? | 
| 重要 | ? | 50 | has/can/is前綴的函數是否返回布爾型? | 
| 注釋 | ? | ? | ? | 
| 重要 | ? | 10 | 注釋是否較清晰且必要? | 
| 重要 | Y | 10 | 復雜的分支流程是否已經被注釋? | 
| ? | ? | 10 | 距離較遠的}是否已經被注釋? | 
| ? | ? | 10 | 非通用變量是否全部被注釋? | 
| 重要 | Y | 50 | 函數是否已經有文檔注釋?(功能、輸入、返回及其他可選) | 
| ? | ? | 10 | 特殊用法是否被注釋? | 
| 聲明、空白、縮進 | ? | ? | ? | 
| ? | ? | 20 | 每行是否只聲明了一個變量?(特別是那些可能出錯的類型) | 
| 重要 | ? | 40 | 變量是否已經在定義的同時初始化? | 
| 重要 | ? | 40 | 類屬性是否都執行了初始化? | 
| ? | ? | 20 | 代碼段落是否被合適地以空行分隔? | 
| ? | Y | 20 | 是否合理地使用了空格使程序更清晰? | 
| ? | ? | 20 | 代碼行長度是否在要求之內? | 
| ? | ? | 20 | 折行是否恰當? | 
| 語句/功能分布/規模 | ? | ? | ? | 
| ? | ? | 20 | 包含復合語句的{}是否成對出現并符合規范? | 
| ? | ? | 20 | 是否給單個的循環、條件語句也加了{}? | 
| ? | ? | 20 | if/if-else/if-else if-else/do-while/switch-case語句的格式是否符合規范? | 
| ? | ? | 40 | 單個變量是否只做單個用途? | 
| 重要 | ? | 20 | 單行是否只有單個功能?(不要使用;進行多行合并) | 
| 重要 | ? | 40 | 單個函數是否執行了單個功能并與其命名相符? | 
| ? | Y | 20 | 操作符++和—?—操作符的應用是否復合規范? | 
| 規模 | ? | ? | ? | 
| 重要 | ? | 20 | 單個函數不超過規定行數? | 
| 重要 | ? | 100 | 縮進層數是否不超過規定? | 
| 重要 | ? | 100 | 是否已經消除了所有警告? | 
| 重要 | Y | 40 | 常數變量是否聲明為final? | 
| 重要 | ? | 80 | 對象使用前是否進行了檢查? | 
| 重要 | ? | 80 | 局部對象變量使用后是否被復位為NULL? | 
| 重要 | ? | 70 | 對數組的訪問是否是安全的?(合法的index取值為[0, MAX_SIZE-1])。 | 
| 重要 | ? | 20 | 是否確認沒有同名變量局部重復定義問題? | 
| ? | ? | 20 | 程序中是否只使用了簡單的表達式? | 
| 重要 | Y | 20 | 是否已經用()使操作符優先級明確化? | 
| 重要 | Y | 20 | 所有判斷是否都使用了(常量==變量)的形式? | 
| ? | ? | 80 | 是否消除了流程懸掛? | 
| 重要 | ? | 80 | 是否每個if-else if-else語句都有最后一個else以確保處理了全集? | 
| 重要 | ? | 80 | 是否每個switch-case語句都有最后一個default以確保處理了全集? | 
| ? | ? | 80 | for循環是否都使用了包含下限不包含上限的形式?(k=0; k<MAX) | 
| 重要 | ? | 40 | XML標記書寫是否完整,字符串的拼寫是否正確? | 
| ? | ? | 40 | 對于流操作代碼的異常捕獲是否有finally操作以關閉流對象? | 
| ? | ? | 20 | 退出代碼段時是否對臨時對象做了釋放處理? | 
| 重要 | ? | 40 | 對浮點數值的相等判斷是否是恰當的?(嚴禁使用==直接判斷) | 
| 可靠性(函數) | ? | ? | ? | 
| 重要 | Y | 60 | 入口對象是否都被進行了判斷不為空? | 
| 重要 | Y | 60 | 入口數據的合法范圍是否都被進行了判斷?(尤其是數組) | 
| 重要 | Y | 20 | 是否對有異常拋出的方法都執行了try...catch保護? | 
| 重要 | Y | 80 | 是否函數的所有分支都有返回值? | 
| 重要 | ? | 50 | int的返回值是否合理?(負值為失敗,非負值成功) | 
| ? | ? | 20 | 對于反復進行了int返回值判斷是否定義了函數來處理? | 
| ? | ? | 60 | 關鍵代碼是否做了捕獲異常處理? | 
| 重要 | ? | 60 | 是否確保函數返回CORBA對象的任何一個屬性都不能為null? | 
| 重要 | ? | 60 | 是否對方法返回值對象做了null檢查,該返回值定義時是否被初始化? | 
| 重要 | ? | 60 | 是否對同步對象的遍歷訪問做了代碼同步? | 
| 重要 | ? | 80 | 是否確認在對Map對象使用迭代遍歷過程中沒有做增減元素操作? | 
| 重要 | ? | 60 | 線程處理函數循環內部是否有異常捕獲處理,防止線程拋出異常而退出? | 
| ? | ? | 20 | 原子操作代碼異常中斷,使用的相關外部變量是否恢復先前狀態? | 
| 重要 | ? | 100 | 函數對錯誤的處理是恰當的? | 
| 可維護性 | ? | ? | ? | 
| 重要 | ? | 100 | 實現代碼中是否消除了直接常量?(用于計數起點的簡單常數例外) | 
| ? | ? | 20 | 是否消除了導致結構模糊的連續賦值?(如a= (b=d+c )) | 
| ? | ? | 20 | 是否每個return前都要有日志記錄? | 
| ? | ? | 20 | 是否有冗余判斷語句?(如:if (b) return true; else return false;) | 
| ? | ? | 20 | 是否把方法中的重復代碼抽象成私有函數? | 
總結
以上是生活随笔為你收集整理的java代码审查检查表的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Excel怎么实现分类自动编号
- 下一篇: 51单片机智能小车——寻迹
