日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

代码质量管理工具】——sonar

發布時間:2025/3/11 编程问答 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 代码质量管理工具】——sonar 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:https://blog.csdn.net/luckystar689/article/details/53871821

------------------------------------------------------------------------

【前言】

? ?bug越改越多,程序一換數據就崩,這就是目前我們系統的一個現狀。在這之前,進行過前后臺代碼規范整理,代碼判空等工作,但這是人工檢測的,有點慢,效率也比較低。當重新導入數據之后,模塊大多都起不來了。于是乎,忍無可忍,我們就用了強大的代碼質量工具——sonar來自動檢測我們的代碼,因為我們要寫更安全,更優雅的代碼。

?

? ?【sonar簡介】

? ? sonar(SonarQube)是一個開源平臺,用于管理源代碼的質量,它不僅是一個質量數據報告工具,更是代碼質量管理平臺。它通過插件的形式來管理代碼,它支持的語言包括:Java,PHP,C#,C等。

?

? ?【主要特點】

? ?sonar可以從以下七個維度來檢測代碼質量:

?

? ?1、不遵循代碼標準

? ? sonar可以通過PMD,CheckStyle,Findbugs等代碼規則檢測工具規范代碼的編寫;

?

? ?2、潛在的缺陷

? ? sonar可以通過PMD,CheckStyle,Findbugs等代碼規則檢測工具檢測出潛在的缺陷;

?

? ?3、糟糕的代碼復雜度分布

? ? 文件、類、方法等,如果復雜度過高將難以改變,這使得開發熱女難以理解它們,且如果沒有自動化的單元測試,對于程序中的任何組件的改變都將可能導致需要全面的回歸測試;

?

? ?4、重復

? ? 顯然程序中包含大量復制粘貼的代碼質量低下的,sonar可以展示源碼中重復嚴重的地方;

?

? ?5、注釋不足或者過多

? ? 沒有注釋將使代碼可讀性變差,特別是當不可避免地出現人員變動時,程序的可讀性將大幅度下降;

?

? ?6、缺乏單元測試

? ? sonar可以很方便地統計并展示單元測試覆蓋率;

?

? ?7、糟糕的設計

? ?通過sonar可以找出循環,展示包與包、類與類之間的相互依賴關系,可以展示自定義的架構規則。通過sonar可以管理第三方的jar包,可以利用LCOM4檢測單個任務規則的應用秦高,檢測耦合。

?

? ?【sonar使用】

? ? 由于架構師已經給咱們裝好了sonarQube,咱們只需在Maven的配置文件的profiles節點中添加一個sonar的profile節點,就可以直接在項目中執行Maven build命令——clean verify soanr:sonar使用了,執行完了之后,在服務器上就可以看到我們測試的項目了:

?

? ?profile節點代碼:

? ?

  • <profile>

  • <id>sonar</id>

  • <activation>

  • <activeByDefault>true</activeByDefault>

  • </activation>

  • <properties>

  • <!-- Optional URL to server. Default value is http://localhost:9000 -->

  • <sonar.host.url>

  • http://192.168.22.220:9000

  • </sonar.host.url>

  • </properties>

  • </profile>

  • ?

    ? ?測試完成的代碼:

    ?

    ?

    ? ?

    ? ?A為最高級別,如果這幾項全是A的話,那說明你寫的代碼真的是太棒了!!!

    ?

    ? ?點開每個項目,查看詳情:

    ???1、bug,duplicatinos等列表:

    ? ??

    ?

    ? ?2、點開具體的某一項,顯示所有的bug,或者有問題的地方。再繼續往下點,就會看到我們有問題的代碼了,也會給出我們相應的解決方案。

    ?

    ? ?

    ?

    ? 【總結】

    ?

    ? ?通過兩天的改bug,其實也就是改成規范的代碼,說實在的,在改之前,我還不知道規范的代碼原來應該是這樣寫的,雖然之前那樣寫也能夠得到想要的結果,但是不是很安全,有潛在的缺陷。

    ?

    ? ?這兩天,沒學啥技術,但是也漲了不少知識,我的收獲總體來說主要有以下三點:

    ?

    ???1、之前咱們看到的代碼亂,寫法不規范,重復性高等。這些代碼sonar都可以檢測到,并給出我們正確的解決方案,我們在解決問題的同時,也知道了規范性的代碼應該如何寫。


    ? ?2、sonarqube代碼質量管理平臺,是全英的,在解決問題的同時,我們又學到了英語。


    ? ?3、在這樣反復的測試,修改,再測試的過程中,能夠提高我們編寫代碼以及閱讀代碼的能力。

    ?

    ?

    ?

    總結

    以上是生活随笔為你收集整理的代码质量管理工具】——sonar的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。