java 代码走查_代码走查检查表(JAVA).doc
代碼走查檢查表(JAVA).doc
代碼走查檢查表
項目名稱: 模塊名稱: 版本號:
檢查時間: 檢查員:
#檢查項是/否/不適用注釋命名、注釋及風格文件、類/接口、靜態變量、成員變量、方法及關鍵代碼是否都有格式良好、簡明扼要、的注釋?注釋是否是對設計思路的說明而不僅僅是代碼行為的描述?是否存在過時的注釋或廢代碼注釋?自查,互查文件中各種段落布局是否合理、是否用恰當的空行分隔?代碼的斷行、對齊、縮進、空行是否恰當?自查,互查代碼中的變量、屬性、參數、方法、類是否恰當命名?有無易相互混淆的命名?自查,互查其他編碼風格是否符合規范要求?如if、else永遠加{};for、while的格式;switch永遠有default;case有break等等自查,互查設計原則成員變量和方法public/private/protected關鍵字是否恰當?內部類、非公共類及其內部成員、方法的訪問權限是否合適?項目經理嵌套內部類是否超過2層?自查,互查所有方法是抽象的且所有成員變量是靜態常量的抽象類是否聲明成了接口?項目經理當類所有的方法和屬性都是靜態的時,是否定義了缺省的私有構造方法?沒有使用任何實例類成員(包括方法和成員變量)的方法是否被聲明為靜態的?異常發生時是否均恰當的記錄了錯誤日志?是否存在使用System.out.println而不是日志模塊記錄日志的情況發生?項目經理是否有應定義為常量的數字、字符、字符串等存在?參數、變量等的類型是否定義的合適?精度是否足夠?聲明為超類的子類實例是否恰當?方法的返回值是否定義恰當?使用已有設計模式時,該模式要求的技術細節是否實現正確、完整?單態模式類的構造函數是否聲明為了私有?Lazy類型的單態模式是否使用了同步?觀察者模式attach與detach是否匹配?是否存在廢代碼?是否存在沒有使用的參數、變量、對象實例?是否存在重復、無效的方法、語句或子條件表達式?子類或數據處理下游代碼中是否重復設計了父類或數據處理上游代碼中已有的功能?調試用的代碼是否恰當的封裝在了if (log.isDebugEnable)中?是否存在不必要的import句?缺陷檢查程序邏輯是否符合詳細設計?輸入參數、調用其他函數的返回值是否有必要校驗合法性、完整性、依賴關系?如有必要,是否做了恰當的校驗?如無必要,是否有多余的代碼?是否避免了在抽象類構造方法中調用抽象方法?是否避免了直接拋出Exception類異常,而沒有拋出恰當的由Exception派生的異常類?try catch的結構是否合理?catch語句處理是否恰當?異常轉拋時是否攜帶了嵌套異常?equals()方法處理中是否使用了getClass()方法檢查類型相同?打開的流、連接等資源是否在finally語句塊或恰當的地方關閉或釋放了?臨時資源使用完后是否及時釋放了?如臨時文件要及時刪除。各種資源釋放的順序是否正確?克隆方法中是否調用了父克隆方法?克隆方法中是否避免了調用構造函數?使用ObjectStream后是否調用了reset()方法以避免內存泄漏?條件、循環中的判斷邊界值是否恰當?程序塊的break、return、throw是否恰當?charAt()、數組下標、parseInt之類可能拋運行時異常的方法是否需要事先判斷或事后catch?如需要,處理是否恰當?相似的代碼塊是否是拷貝過來的?如果是,則需檢查拷貝的代碼中每處需要修改的地方是否都修改了。是否存在其他可能造成缺陷的代碼?在if條件中賦值精度丟失浮點數判等循環體中修改循環變量case語句缺失break字符串比較沒有使用equals或compareTo不恰當的static變量代碼優化(項目經理)同步方法的使用是否必要?同步代碼塊是否已粒度最小化?在不影響可讀性和易維護性的前提下,對象是否可重復利用?如StringBuffer可以通過setLength(0)重復利用,無需每次重復創建新實例。是否
總結
以上是生活随笔為你收集整理的java 代码走查_代码走查检查表(JAVA).doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构九——栈
- 下一篇: 74. Search a 2D Matr