【項目】 代碼走查內容總結


BOSS代碼走查內容表


命名正確
包命名正確:
Package 的名字應該都是由小寫單詞組成。例如:package com.neu.util

類命名正確
Class 名稱使用帕斯卡命名法命名:名稱由具有含義的單詞組成,並代表了其意義,且單詞首字母大寫例如:public class ThisAClassName{ //CODE}
抽象類以Abstract開頭例如:AbstractThisAClassName

變量、方法、方法參數命名正確
使用駱駝命名法命名,即名稱由有具體含義的單詞組成,並代表了其作用,第一個單詞之外,其他單詞首字母大寫
例如:public void setProductName(String productName){
    this.productName=productName;
}
接口命名正確
接口以大寫I開頭例如:IThisAInterface

靜態常量命名正確
Static Final 變量的命名 static Final 變量的名字應該都大寫,並且指出完整含義。
例如private static final String ISO8610_DATE_PATTERN==”yyyy-MM-dd”

數組命名正確
數組的命名 數組應該總是用下面的方式來命名:
例如:byte[] buffer; 而不是: byte buffer[]

類信息正確
類代碼是否超過500行,或在發生變化時會變得狠大
    除界面外,類大小不應超過500行

類所屬工程及相關工程以來是否正確
類是否放到相應的工程下且包路徑正確
新建類引入的工程以來是否正確。例如:主營用不應該依賴客戶化

類所需要的第三方包是否上傳到指定服務器
避免構建時因包引用不正確造成構建時間

類中是否存在重復代碼,需要提取成公共方法
重復代碼應該提取為公共方法,或供其它地方使用的工具類

當某個功能變化時,是否需要修改多個類

子類只使用了“父類”的某些屬性或者行為
檢測改繼承是否使用正確,是否應修改為組合的關系

方法處理正確
方法是否超過30行
方法超過30行一般為業務主線與實現細節未分開,需要將相同邏輯或者實現細節提取到為新的方法,並使用有含義的方法名

方法參數是否存在異常但未做處理
例如:參數不能為空,需要使用Assert.判斷處理

方法中的變量或者常量是否使用正確
例如:默認不變子字符串或數值應提取為常量,變量的作用域是否正確等

方法中循環邊界是否正確,不應出現死循環

方法中循環中不應多次調用數據庫
例如:    while (null != seg) {
                double min = seg.getBeginSegment() * calcMonthlyFee(dto);
//這里不正正確calcMonthlyFee 多次調用了數據庫,應考慮循環外處理
                //CODE...
            }
          private double calcMonthlyFee(PromotionExcuteDTO dto) {
            //調用數據庫
      }

方法中全局變量使用是否正確
檢測全局變量是否必要
檢測全局變量是否因負值導致問題

方法中參數是否不必要,或者參數是否過多

方法中邏輯是否可以調用工具類實現

方法中Switch語句是否可以使用類來代替

方法中是否存在過多的IF判斷或者循環


異常處理是否正確
異常是否未被捕獲
檢測是否某些應該捕獲的異常類型沒有使用Catch捕獲

捕獲到的異常是否未處理
檢測異常捕獲后是否有相應的處理
檢測特殊情況下如果需要吃掉相關的異常,是否打印了相關提示日志
例如:     try{
                        // BUSINESS CODE
                        // ...
                      }catch (Exception e) {//若不需要中斷處理需要打印日志
                       log.error("STARIBOSS.internal.error!Case:", e);
                 }


Catch異常是否遵循從小到大的原則
例如:存在”nullPointException異常” 、”Exception異常” 同時存在時,需要先捕獲“null PointException異常”進行處理,然后再捕獲”Exception異常”處理。

LOG日志處理是否正確
日志等級是否使用正確
log.info();//一般信息
log.debug();//調試信息
log.error();//錯誤信息,一般未知的異常Exception異常使用
log.warn();//警告信息
log.fatal();//致命錯誤信息

日志輸出內容是否正確
檢測輸出內容是否可以幫助排查相關問題

日志輸出格式是否正確
如果需要輸出堆棧信息log.error("error message", e)
如果只需要輸出錯誤信息 log.error("error message"+e)



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM