SonarSource簡介
構(gòu)建更好的軟件的獨特方法。通過在整個軟件開發(fā)生命周期中支持代碼質(zhì)量, 幫助您的開發(fā)團隊從創(chuàng)新的概念中受益, 同時將時間和精力集中在新功能上。的水泄漏范例
我們建議的代碼質(zhì)量的方法是什么?把它當作漏水的東西, 在你拖地板之前把漏水的東西修好!為什么?否則你只是在浪費你的時間和精力。對于代碼質(zhì)量, 同樣的邏輯適用;在任何其他情況下, 您都應(yīng)該在控制下獲得新更改和添加代碼的質(zhì)量。一旦該漏洞得到控制, 代碼質(zhì)量將開始系統(tǒng)地改善。閱讀更多漏水范例領(lǐng)yang授權(quán)收養(yǎng)和賦予
代碼質(zhì)量應(yīng)該是每個開發(fā)人員的關(guān)注點, 而不僅僅是少數(shù)專家。一旦您切換到一個漏水的方法, 即新的代碼是唯yi的焦點的方法, 開發(fā)人員將變得非常感興趣的主題, 因為 "代碼質(zhì)量" 意味著他們的代碼質(zhì)量。如果您添加的能力是在一個非常短的反饋循環(huán), 你得到的控制反轉(zhuǎn): 開發(fā)人員不僅解決問題, 但在其組織的代碼質(zhì)量的所有權(quán), 因為它應(yīng)該是在任何地方的情況。統(tǒng)一質(zhì)量門
除非您在發(fā)布時強制執(zhí)行質(zhì)量門, 否則您沒有到位的代碼質(zhì)量實踐。質(zhì)量門是在進入生產(chǎn)前經(jīng)過驗證的標準列表, 以確保應(yīng)用程序符合質(zhì)量要求。換言之, 這是內(nèi)部質(zhì)量的去/不去。采用漏水方法, 您可以為每個應(yīng)用程序強制使用相同的質(zhì)量閘門, 因為焦點將從應(yīng)用程序中的遺留代碼轉(zhuǎn)移到新的或更新的內(nèi)容。這使得代碼質(zhì)量成為開發(fā)過程的一個組成部分。促進代碼管理應(yīng)用程序組合 (APM)應(yīng)用程序投資組合管理
泄漏范例創(chuàng)造了一個良性循環(huán)來提高代碼質(zhì)量, 但不處理風(fēng)險。管理者應(yīng)該能夠?qū)ζ渫顿Y組合中的現(xiàn)有風(fēng)險做出決策。例如, 敏感的應(yīng)用程序可能需要額外的精力來解決安全問題。這就是為什么, 他們需要有一個代表他們的應(yīng)用程序組合裝飾與相關(guān)的健康/風(fēng)險因素。









代碼質(zhì)量是一個不斷增長的市場, 它是分析師對其大規(guī)模采用和大量投資回報的雷達。
認知的復(fù)雜性提供了一個新的衡量如何硬編碼是理解-一個罷工開發(fā)商的直覺正確的。下載白皮書本文描述了認知的復(fù)雜性, 提出了一種新的度量方法, 以更準確地測量法的相對理解。在這樣做的時候, 它解決了這個領(lǐng)域中圈復(fù)雜度的缺點。圈復(fù)雜度使用數(shù)學(xué)模型來評估方法, 對測試所需的工作量進行精que測量, 但不準確地測量需要了解它們的工作量。認知的復(fù)雜性打破了使用數(shù)學(xué)模型評估軟件可維護性的實踐。它從由圈復(fù)雜度所設(shè)置的先例開始, 但使用人工判斷來評估結(jié)構(gòu)應(yīng)如何計算, 并決定應(yīng)將哪些內(nèi)容添加到整個模型中。結(jié)果是, 它產(chǎn)生了方法復(fù)雜性評分, 使程序員對可維護性的相對評估比以前的模型更公平。






SonarSource
提高應(yīng)用價值, 降低軟件開發(fā)風(fēng)險
成功的組織在過程中向前移動質(zhì)量分析并使其迭代
作為整個軟件開發(fā)生命周期的一部分。開發(fā)和測試世界和業(yè)務(wù)
方法以及正在向敏捷模型演進-持續(xù)的價值生成/連續(xù)
改進/連續(xù)檢驗是提高質(zhì)量的重要戰(zhàn)略。這些都是
IDC 為 end-user 客戶和服務(wù)提供商所觀察到的關(guān)鍵策略:
?傳統(tǒng)的代碼質(zhì)量方法通常在測試成為檢查表項時失敗
在開發(fā)過程結(jié)束時, QA 團隊運行一個工具并返回
開發(fā)團隊在軟件進入之前需要采取的行動列表
生產(chǎn).這可能導(dǎo)致延遲和預(yù)算超支。所以會發(fā)生什么
經(jīng)常是管理標志移動項目, 沒有質(zhì)量門
發(fā)展.
?在項目開始時從項目代碼分析中收集適當?shù)亩攘繕藴?/p>
是至關(guān)重要的。如果沒有正確的度量標準 (或任何度量標準), 代碼庫可能會在沒有人注意的情況下惡化, 或者在技術(shù)債wu達到一定的時候才會注意到
在時間和預(yù)算限制的情況下, 成本太高而無法解決的級別。收集
代碼度量連續(xù)可以提供可見性, 并使團隊的優(yōu)勢
控制代碼庫的技術(shù)債wu。
?理解要修復(fù)的代碼也是必不可少的。通常, 團隊開始重構(gòu)
因為他們認為代碼庫在性能、脆性、不穩(wěn)定性方面是不好的,
難于維護和擴展。但如果沒有正確的語境分析, 它是
無法檢測到代碼庫的哪個部分負責所遇到的問題。
因此, 更改可能會應(yīng)用到錯誤的代碼, 或者正確的代碼被重構(gòu)
錯誤的方式, 或只有部分問題得到解決。這是一個度量和工具的領(lǐng)域
可以通過標識導(dǎo)致問題的代碼部分來幫助。
確保持續(xù)的軟件質(zhì)量是成功的關(guān)鍵
end-user 公司和服務(wù)組織都必須運行軟件開發(fā)作為
業(yè)務(wù).這樣做的一部分是管理軟件的遠程可維護性, 即
發(fā)展今天你需要保持明天。積極主動的架構(gòu), 也
所創(chuàng)建內(nèi)容的質(zhì)量是管理軟件長期支出的關(guān)鍵
維護;保存錯誤的、結(jié)構(gòu)較差的軟件是更昂貴的。
在這方面, 應(yīng)用程序維護團隊還需要對軟件進行可視化, 以便能夠更好地
維護代碼以降低成本, 實現(xiàn)更好的質(zhì)量, 并提高客戶響應(yīng)能力
和 ROI。在將任何代碼發(fā)送到客戶之前, 為代碼建立一致的進程
分析可以幫助確保必須運行軟件的公司的長期改進
有效地發(fā)展。
SonARSOURCE 和 SonARQUBE 平臺
SonarSource: 介紹
SonarSource 是一家瑞士公司, 成立于2008年。該公司誕生的愿望
處理和解決與軟件質(zhì)量相關(guān)的不斷增長的問題, 并為市場帶來解決方案
可以跟蹤的軟件開發(fā)過程中的代碼質(zhì)量。在競爭激烈的市場中
來自少數(shù)提供商的服務(wù), SonarSource 的投資組合是由它的根在開放的區(qū)別
來源, 其可訪問性, 和一系列的參與選項從包裝和定價
角度.
SonarQube 平臺被創(chuàng)造了并且采取了到市場 (初作為 "聲納"), 與 SonarSource
在2009年10月發(fā)布該平臺的第yi個商業(yè)插件。到 2010年3月,
SonarSource 開始看到社區(qū)和企業(yè)都接受了 SonarQube 平臺,
到那時, 一個月被下載超過2000次。在 2010年5月, SonarSource
發(fā)布的 COBOL 和 Visual Basic plug-ins, 隨后幾個月后由一個 SQALE 插件,
c# 插件 (2011年6月) 和 PL/SQL 插件 (2011年9月)。
該公司的主要意圖是帶來負擔得起的和直觀的質(zhì)量解決方案和分析
開發(fā)人員還提供了廣泛、分布式使用的功能。今天, SonarSource 有
全球約有350客戶, 包括德意志銀行、美國銀行、米其林、
西班牙、法國巴黎銀行、泰雷茲和 EADs。SonarQube 平臺使用約300
客戶, 與3萬和4萬安裝。該公司已看到的
在過去幾年的增長, 它現(xiàn)在雇用了超過30員工, 從20人
就在12月前







購買 SonarQube 作為測試自動化的質(zhì)量門由琳達陳在 2017年4月13日 |4分鐘閱讀1SonarQube (原名聲納) 被廣泛用于各種項目的代碼質(zhì)量管理工具, 提供跟蹤和提高源代碼質(zhì)量的功能。此類功能還可用于測試自動化, 以量化測試腳本的質(zhì)量, 因為自動檢測腳本的本質(zhì)是代碼。
測試自動化的 SonarQube 特性
為不同的利益相關(guān)者提供定制的度量標準每個項目都有不同的利益干系人, 如客戶、項目經(jīng)理、架構(gòu)師、開發(fā)人員和測試人員, 他們擁有完成項目的各種技術(shù)或知識。因此, 他們對項目質(zhì)量的關(guān)注是多種多樣的。不同群體的利益干系人的質(zhì)量度量標準是不同的, 這為查看 SonarQube 的價值提供了一個良好的環(huán)境, 因為該工具為不同的用戶提供了定制的度量標準。 下表顯示了針對不同項目角色的 SonarQube 質(zhì)量度量的一個很好的示例。
支持項目的多種編程語言盡管用 java 編寫, SonarQube 可以在大約20多個不同的編程語言 (包括 java、Python、c/c++) 中分析代碼。可以自動檢測到不同的編程語言, 并調(diào)用相應(yīng)的語言分析器。因此, 即使目標測試腳本由多種不同的編程語言組成, 聲納仍然能夠跟蹤、分析和創(chuàng)建有關(guān)代碼質(zhì)量的報告。
使用行業(yè)標準 (代碼分析器) 提供測試規(guī)則在更大的圖片中, SonarQube 提供了行業(yè)規(guī)則模板, 用戶可以根據(jù)需要自定義質(zhì)量規(guī)則。對于自動測試, 可以應(yīng)用一堆規(guī)則。下面提供了示例規(guī)則:
除了檢查現(xiàn)有項目的源代碼, 為了進行自動測試, 聲納可能需要根據(jù)某些要求停用或更新一些規(guī)則。
示例規(guī)則可以刪除, 如下所示:
示例規(guī)則可以更新如下:
除了上面給出的特性, SonarQube 還具有諸如 DevOps 集成、聚合儀表板、時間機器等功能, 所有這些都可以幫助測試自動化項目變得更具可追溯性和可見性。
如何通過與數(shù)據(jù)庫 mysql 的集成來設(shè)置 SonarQube
設(shè)置 SonarQube 是很簡單的。但是, 不建議將嵌入在 SonarQube 中的默認數(shù)據(jù)庫 H2 用于生產(chǎn)用途, 因為它無法進行縮放。 為了更好的維護和可伸縮性, 我們建議用 mysql 這樣的另一個數(shù)據(jù)庫替換 H2。下面是在 windows 平臺中為 SonarQube 設(shè)置 mysql 的一個示例。
前提
在您的計算機上安裝 Java (Oracle JRE 8 開始或 OpenJDK 8 起)。步驟:
1.Install. 用 mysql 建立數(shù)據(jù)庫
a. 從并安裝, 然后啟動 mysql
b. 為聲納創(chuàng)建數(shù)據(jù)庫, 包括創(chuàng)建用于訪問數(shù)據(jù)庫的管理員帳戶。例如, 通過在 sql 下運行, 使用用戶帳戶聲納和密碼聲納創(chuàng)建名為聲納的數(shù)據(jù)庫:







