<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sonar在檢查java代碼隱患中的作用[轉(zhuǎn)]

    Sonar作為一個非常實用的代碼質(zhì)量檢查工具,可以在各個維度對整個工程進行一個量化,如代碼的測試覆蓋率、代碼內(nèi)聚性指標、代碼復雜度、代碼的重復性檢查、包之間的依存度以及代碼沖突性等,可以非常直觀的通過圖標看到這些數(shù)據(jù),關于sonar的安裝和使用在本博的另一篇文章(《代碼質(zhì)量檢查工具Sonar結(jié)合hudson、maven使用》)有詳細描述

     



     

    本文主要介紹sonar能夠檢查出的代碼隱患。

    • Avoid Decimal Literals In Big Decimal Constructor 應避免使用Decimal(0.5)這樣的做法,因為這樣是錯誤的不精確的
    • Avoid Rethrowing Exception 不應當在catch語句中重新拋出另外的異常
    • Avoid Throwing Null Pointer Exception 不應該拋出空指針異常
    • Boolean Instantiation 不需要實例化布爾變量,只需=Boolean.True or =Boolean.Flase
    • Close Resource 有未關閉的資源,需要使用finally語句塊確保安全
    • Collapsible If Statements 如果有多條if語句連續(xù)出現(xiàn),可以使用短路條件if(A && B && ......)提高效率
    • Compare Objects With Equals 比較兩個對象應該使用equal而不是等于
    • Cyclomatic Complexity 通常來講,這個方法或者類太長了,需要分解
    • Dont Import Java Lang Java.Lang是默認引入的不需要顯示引入
    • Empty Finalizer或Empty Finally Block或Empty If Stmt或Empty Statement或Empty Static Initializer或Empty Switch Statements或Empty Synchronized Block或Empty Try Block或Empty While Stmt:這個是非常常見的代碼問題,if、switch、finally、try等內(nèi)部是空的,很有可能是碼農(nóng)忘記處理了
    • Equals Hash Code 方法equal重寫了但是hashcode未重寫
    • Equals Null 和null比較用==而不是用equals
    • If Else Stmts Must Use Braces或If Stmts Must Use Braces 編碼時if或者else不寫大括號,很容易出現(xiàn)問題
    • Magic Number 魔術數(shù),指的是一個數(shù)字無端的出現(xiàn)在代碼中,但是卻不知道其含義,很常見
    • Naming - *** 通常是類、方法、變量的命名不規(guī)范
    • Replace Vector With List 應使用List來代替Vector提高效率
    • Security - Array is stored directly 通常是數(shù)組類型的參數(shù)使用時,沒有使用clone,方法直接改變了引用所指的對象
    • Singular Field 僅在某方法中使用的變量不應該聲明為實例變量
    • Unconditional If Statement 通常是If語句永遠為真或者永遠為假
    • Unnecessary Case Change 使用equalsIgnoreCase()更高效
    • Unused Private Field或Unused formal parameter或Unused local variable或Unused private method沒 有用到的變量、參數(shù)、方法
    • Useless Operation On Immutable 在方法體中修改了某值意圖想傳出來,但實際上操作的是一個新的對象或者值,如改變基本類型的參數(shù)

    以上是部分常見的隱患類型,還有不少其他的沒有寫入。



    眼鏡蛇

    posted on 2013-09-05 15:14 眼鏡蛇 閱讀(320) 評論(0)  編輯  收藏 所屬分類: Sonar

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統(tǒng)計

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 性做久久久久免费观看| 99久久99热精品免费观看国产 | 亚洲福利在线观看| 99re6在线视频精品免费| 亚洲成年看片在线观看| 久久久久亚洲精品无码网址色欲| 猫咪社区免费资源在线观看| 亚洲人xxx日本人18| 成人网站免费观看| 亚洲国产综合AV在线观看| 国产色婷婷精品免费视频| 狠狠综合亚洲综合亚洲色| 亚洲 自拍 另类小说综合图区| 四虎一区二区成人免费影院网址 | 一级毛片人与动免费观看| 337p日本欧洲亚洲大胆裸体艺术| 中文字幕免费播放| 亚洲第一中文字幕| 一本无码人妻在中文字幕免费| 亚洲乱人伦中文字幕无码| 亚洲日本在线观看视频| a视频免费在线观看| 亚洲视频免费一区| 大陆一级毛片免费视频观看| 人人鲁免费播放视频人人香蕉| 国产亚洲综合网曝门系列| 久久国产乱子伦精品免费不卡| 亚洲国产美女精品久久久久| 日韩免费视频在线观看| baoyu116.永久免费视频| 亚洲精品美女视频| 国产免费观看视频| 免费高清国产视频| 亚洲综合一区国产精品| 亚洲综合色成在线播放| 91av视频免费在线观看| 国产精品久久久久久亚洲小说| 亚洲国产第一站精品蜜芽| 99re热免费精品视频观看| 国产日韩精品无码区免费专区国产| 亚洲男人第一av网站|