【廣告】
Sonarqube的優(yōu)點:
(1)支持所有語言的檢測。一個工具,搞定所有。
(2)靈活擴展,插拔式使用。自定義的代碼檢測規(guī)則,可自定義插件,獨立打成JAR包放到SONARQUBE插件目錄下,重啟即生效,開發(fā)使用非常方便。而且自帶UT驗證框架,開發(fā)。
(3)規(guī)則支持多租戶隔離。租戶可定制自己的規(guī)則集。
(4)生態(tài)強大,業(yè)界有諸多插件,與jenkins友好集成。
(5)部署使用便捷。
(6)架構(gòu)松耦合,通過與maven/jenkins等集成,將代碼掃描的計算消耗遷移到業(yè)務或者構(gòu)建方的資源上,極大的提升了自身的吞吐能力。
解決Sonarqube項目中的bug總結(jié)
①:變量聲明后不使用,華北sonarqube代理商,多余變量
②:方法名、變量名不符合命名規(guī)范
例如:方法名、參數(shù)名統(tǒng)一使用駝峰命名法(Camel命名法),代理商sonarqube代理商,除首字母外,其他單詞的首字母大寫,其他字母小寫,類名每個組合的單詞都要大寫;
③:常量命名不規(guī)范
禁止縮寫。命名盡量簡短,不要超過16個字符
采用完整的英文大寫單詞,在詞與詞之間用下劃線連接,代理商sonarqube代理商,如:DEFAULT_VALUE。
同一組的常量可以用常量類封裝在一起,便于引用和維護
④:刪除無用的依賴
import中灰色的部分
⑤:禁止使用 System.out.println(""); 打印內(nèi)容
⑥:Controller類中不要拋出異常,需要用try,catch捕獲
⑦:刪除無用的注釋,例如用于測試的代碼
⑧:將程序中的 //TODO 盡快完成
sonarqube問題修改總結(jié)
三、可讀性問題
1、用isEmpty()去做容器的空或者非空判斷。
說明:Use isEmpty() to check whether the collection is empty or not.
原因:增加可讀性。
2、刪除沒有用的import、field、class、method。
原因:增加可維護性。
修改建議:刪除無用代碼塊、申明、方法和引用。
3、if語句被拆分不利于可讀
說明:Merging collapsible if statements increases the code"s readability.
3、方法內(nèi)多個return出口
錯誤示例:
解決建議:定義一個return,賦值,統(tǒng)一返回。
4、修改了入?yún)⒄f明:修改了入?yún)⒔档土舜a的可讀性,丟失了原始參數(shù)的值。
錯誤示例:
5、用equalsIgnoreCase()方法替代字符串的無視大小寫比較。
說明:Replace these toUpperCase()/toLowerCase() and equals() calls with a single equalsIgnoreCase() call.
原因:參數(shù)應當是final的
解決建議,利用一個臨時變量充當需要變動的參數(shù)。
企業(yè): 蘇州華克斯信息科技有限公司
手機: 13862561363
電話: 0512-62382981
地址: 蘇州工業(yè)園區(qū)新平街388號