<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ### Sonar簡介 Sonar是一個用于代碼質量管理的開源平臺,用于管理源代碼的質量,可以從七個維度檢測代碼質量 通過插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十幾種編程語言的代碼質量管理與檢測 1. 糟糕的復雜度分布 ? 文件、類、方法等,如果復雜度過高將難以改變,這會使得開發人員難以理解它們, 且如果沒有自動化的單元測試,對于程序中的任何組件的改變都將可能導致需要全面的回歸測試 ![](https://box.kancloud.cn/864b5e8e78ff9c2afba24c434da24147_545x140.png) 2. 重復 ? 顯然程序中包含大量復制粘貼的代碼是質量低下的 , sonar可以展示源碼中重復嚴重的地方 ![](https://box.kancloud.cn/4e27c46fbd22535283cb7597ad7a014f_622x145.png) 3. 缺乏單元測試 sonar可以很方便地統計并展示單元測試覆蓋率 ![](https://box.kancloud.cn/ffde733bc0ffee5f72a52f588006f3dd_534x193.png) 4. 沒有代碼標準 ? sonar可以通過PMD,CheckStyle,Findbugs等等代碼規則檢測工具規范代碼編寫 5. 沒有足夠的或者過多的注釋 ? 沒有注釋將使代碼可讀性變差,特別是當不可避免地出現人員變動時,程序的可讀性將大幅下降,而過多的注釋又會使得開發人員將精力過多地花費在閱讀注釋上,亦違背初衷 6. 潛在的bug sonar可以通過PMD,CheckStyle,Findbugs等等代碼規則檢測工具檢測出潛在的bug ![](https://box.kancloud.cn/ef6948b7d31b074844def09cb05c4406_596x148.png) 7. 糟糕的設計(原文Spaghetti Design,意大利面式設計) ? 通過sonar可以找出循環,展示包與包、類與類之間的相互依賴關系,可以檢測自定義的架構規則; ? 通過sonar可以管理第三方的jar包可以利用LCOM4檢測單個任務規則的應用情況 ,檢測耦合 ### Sonar 組成 ![](https://box.kancloud.cn/7d392712a89d8ceb72b4badd2e32b38b_1125x297.png) ### Sonar 集成過程 ![](https://box.kancloud.cn/c04795aecca5287aa4b740cfdf2736e6_1102x639.png) 1. 開發人員在他們的ide中使用SonarLint運行分析本地代碼。 2. 開發人員將他們的代碼提交到代碼管理平臺中(SVN,GIT等) 3. 持續集成工具自動觸發構建,調用SonarScanner對項目代碼進行掃描分析 4. 分析報告發送到SonarQube Server中進行加工 5. SonarQube Server 加工并且保存分析報告到SonarQube Database中,通過UI顯示分析報告 6.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看