|
公司基本資料信息
|
SonarQube 平臺(tái)
SonarQube 是一個(gè)連續(xù)的質(zhì)量分析平臺(tái), 它作為 web 服務(wù)器運(yùn)行, 跟蹤指標(biāo)
分析代碼和代碼結(jié)構(gòu)。SonarQube 是一個(gè)開源平臺(tái), 并被開發(fā)
牢記一個(gè)主要目標(biāo): "使代碼質(zhì)量管理可供每個(gè)人使用
xiao的努力。SonarQube 生態(tài)系統(tǒng)是由 SonarQube 平臺(tái)和一套
plug-ins 在公共基礎(chǔ)設(shè)施上擔(dān)任東道主。
SonarQube 實(shí)質(zhì)上提供了代碼分析器、儀表板、報(bào)告工具、問題跟蹤和
TimeMachine 作為核心功能, 但它也有一個(gè)插件機(jī)制, 使社區(qū)能夠
擴(kuò)展功能 (當(dāng)前有超過 60 plug-ins 可用)。
SonarQube 可以成為源代碼質(zhì)量的協(xié)調(diào)中心, 因?yàn)樗恍枰?/p>
限于開發(fā)人員或技術(shù)嫻熟的, 但可以提供有用的信息廣泛
項(xiàng)目經(jīng)理, 技術(shù)領(lǐng)導(dǎo), IT, 甚至在一個(gè)組織內(nèi)的業(yè)務(wù)領(lǐng)導(dǎo)
可自定義的儀表板。SonarQube 的建筑和 plug-ins (如 SQALE) 和
管理和跟蹤技術(shù)債務(wù)的機(jī)會(huì)可以為管理人員提供關(guān)鍵信息和
業(yè)務(wù)在整個(gè)軟件生命周期中反復(fù)地主動(dòng)地解決缺陷。他們提供
與質(zhì)量和成本有關(guān)的項(xiàng)目的概述, 并幫助解決風(fēng)險(xiǎn)。
SonarQube 提供的不僅僅是關(guān)于軟件健康的指標(biāo)。由于開發(fā)人員
提供了一個(gè)粒度代碼級(jí)別的信息, SonarQube 使這些構(gòu)建軟件
查找并深化到存在代碼問題的位置。SonarSource 的產(chǎn)品組合使
對(duì)軟件變更領(lǐng)域的反饋和影響分析, 并提供反饋, 說明如何
改進(jìn)開發(fā)方法。產(chǎn)品還提供與構(gòu)建管理的協(xié)調(diào)
(與詹金斯的支持), 以幫助實(shí)現(xiàn)持續(xù)集成的部署。
SonarQube 集成的工具, 如 FindBugs, Checkstyle, PMD, FXCop的, C的p的p的Check 出 of-the-box,
或提供 plug-ins。然后, 它可以充當(dāng)代碼分析工具的中心中心,
從而為多個(gè)項(xiàng)目提供歷史洞察力和趨勢(shì)分析。一體化的地方
分析和報(bào)告是一個(gè)加號(hào), 即使組織選擇不對(duì)發(fā)送的報(bào)告采取行動(dòng)。
可以訪問有關(guān)代碼復(fù)雜性的歷史數(shù)據(jù)和發(fā)現(xiàn)的問題工具的數(shù)量
該代碼可以提供是否有效地構(gòu)建軟件的可視性, 或者如果方法
需要改變。
在語(yǔ)言方面, SonarQube 支持分析 Java 的核心, 但也有超過20
語(yǔ)言, 如 COBOL、c++、PL/SQL 和 c# 通過 plug-ins (開源或商業(yè))
因?yàn)閳?bào)告引擎是語(yǔ)言不可知的。
SonarQube 使組織能夠在七軸上覆蓋質(zhì)量并報(bào)告:
?重復(fù)代碼
?編碼標(biāo)準(zhǔn)
按單元測(cè)試?覆蓋范圍
?復(fù)雜代碼
?潛在 bug
?評(píng)論
?設(shè)計(jì)與體系結(jié)構(gòu)
xin版本還改進(jìn)了軟件質(zhì)量屬性的評(píng)估, 并
一個(gè)更好的工作范圍的技術(shù)債務(wù)和孤立的問題, 創(chuàng)造技術(shù)債務(wù),
根據(jù)參考。SonarQube 是可配置的, 可以給代碼一個(gè) "等級(jí)" (從 a 到
E), 并可以確定它通常在努力和所需的工作類型方面的成本
改進(jìn)軟件。例如, 由于缺少單元測(cè)試, 代碼可能有較低的評(píng)級(jí), 或者
由于大量的重復(fù)代碼或安全違規(guī)。SonarQube 將顯示
違規(guī)行為是并將估計(jì)解決這些問題的費(fèi)用。用戶可以更改工作量估計(jì)和
他們會(huì)被計(jì)算在內(nèi), 這是有幫助的。此版本還可以使比較團(tuán)隊(duì)
根據(jù)需要對(duì)項(xiàng)目和組織的各個(gè)部分進(jìn)行評(píng)估。
雖然 SonarQube 可以在戰(zhàn)shu上用于一次性審計(jì), 但它可以更具戰(zhàn)略性地利用
作為一個(gè)共享的, 共同的信息來源的質(zhì)量分析正如剛才所描述的, 以幫助
支持代碼質(zhì)量的持續(xù)改進(jìn)策略。
各種各樣的組織使用 SonarQube 提供的產(chǎn)品組合的范圍 (從
本公司的免費(fèi) "開源" 選項(xiàng)給企業(yè), 站點(diǎn)范圍內(nèi)的 "終ji" 許可版本)。
然而, 目標(biāo)在高端是大和非常大公司與企業(yè), 分布
開發(fā)團(tuán)隊(duì)和合作伙伴協(xié)調(diào)。一人團(tuán)隊(duì)可以使用開源版本
顯然, 這可以作為一個(gè)坡道上的收養(yǎng)。但一旦一個(gè)組織越過
在開發(fā)項(xiàng)目和用戶的數(shù)量方面, 需要移動(dòng)到
商業(yè)企業(yè)解決方案。IDC 發(fā)表了三企業(yè)客戶參考
SonarQube, 主要是開始開放源碼收養(yǎng), 獲得立足點(diǎn), 然后演變
到部署1000以上的用戶。
SonarSource 從洞察風(fēng)險(xiǎn)合作伙伴獲得4500萬(wàn)美元的少數(shù)股權(quán)投資代碼質(zhì)量的市場(chǎng)使用資金加速增長(zhǎng)
新聞提供SonarSource, 洞察風(fēng)險(xiǎn)合作伙伴2016年11月29日, 09:13 ET分享這篇文章
日內(nèi)瓦, 瑞士, 2016年11月29日/PRNewswire/-SonarSource, 代碼質(zhì)量管理的, 今天宣布關(guān)閉4500萬(wàn)美元的少數(shù)股權(quán)投資的全球風(fēng)險(xiǎn)投資和私人股本公司, 洞察風(fēng)險(xiǎn)的合作伙伴。理查德·威爾斯, 董事總經(jīng)理, 保利·蓋托, 洞察力的副總裁將加入公司董事會(huì)。
SonarSource 在瑞士成立于 2008年, 由奧利維爾 Gaudin, 弗雷迪槌和西蒙 Brandhof, 提供產(chǎn)品的連續(xù)代碼質(zhì)量的應(yīng)用程序。由全球8萬(wàn)多家公司所采用, 開源解決方案從根本上改變了管理應(yīng)用程序的可維護(hù)性、可靠性和安全性的方法。此外, SonarSource 為超過700客戶提供了企業(yè)級(jí)解決方案, 其中包括 eBay、美國(guó)銀行和寶馬, 以及50家財(cái)富100強(qiáng)組織。
自籌公司自成立以來已大幅增長(zhǎng), 并將利用新的資本進(jìn)一步加速增長(zhǎng), 并繼續(xù)追求它的愿景, 使開發(fā)人員能夠不斷發(fā)布高度可維護(hù)、可靠且安全的代碼。
"SonarSource 成立的目標(biāo)是成為世界領(lǐng)xian的解決技術(shù)債wu、降低維護(hù)成本和運(yùn)營(yíng)風(fēng)險(xiǎn), 終開發(fā)更好的軟件," SonarSource 的首席執(zhí)行官奧利維爾 Gaudin 說。 "我們與洞察風(fēng)險(xiǎn)合作伙伴的合作, 使我們能夠從他們的知識(shí)和支持, 以建立一個(gè)全球性的組織, 大力促進(jìn)我們的業(yè)務(wù)增長(zhǎng), 并解決我們迅速擴(kuò)大的市場(chǎng)。
"代碼質(zhì)量管理已經(jīng)成為那些保持不斷擴(kuò)大的代碼基礎(chǔ)的公司的關(guān)鍵問題, 而 SonarSource 已經(jīng)成為行業(yè)標(biāo)準(zhǔn)," 理查德. 威爾斯說。"我們很高興在我們的公司陣容中添加 SonarSource, 因?yàn)樗麄兝^續(xù)為企業(yè)和組織提供創(chuàng)新的解決方案來管理他們的代碼庫(kù)。
關(guān)于 SonarSource:SonarSource 為連續(xù)代碼質(zhì)量提供了 world-class 的解決方案。其開源和商用產(chǎn)品幫助客戶管理其應(yīng)用程序的代碼質(zhì)量, 降低其風(fēng)險(xiǎn), 并終提供更好的軟件。SonarSource 解決方案支持開發(fā)20種編程語(yǔ)言, 如 Java、c#、Javascript、c/c++、COBOL 等。擁有全球700多個(gè)客戶, 包括 eBay, 美國(guó)銀行, 泰雷茲, 寶馬, 以及超過8萬(wàn)組織使用 SonarSource 的產(chǎn)品是事實(shí)上的市場(chǎng)標(biāo)準(zhǔn)。欲了解更多信息,
關(guān)于洞察風(fēng)險(xiǎn)合作伙伴:洞察風(fēng)險(xiǎn)合作伙伴是一家領(lǐng)xian的全球風(fēng)險(xiǎn)投資和私人股本公司, 投資于高增長(zhǎng)的軟件和支持互聯(lián)網(wǎng)的公司, 它們正在推動(dòng)其行業(yè)的變革。成立于 1995年, 洞察力已籌集超過130億美元, 并投資于全球超過250家公司。我們的使命是尋找、資助和成功地與富有遠(yuǎn)見的管理人員一起為他們提供實(shí)際的、動(dòng)手的成長(zhǎng)專長(zhǎng), 以促進(jìn)長(zhǎng)期的成功。有關(guān)洞察力及其所有投資的更多信息,
SonarQube中的舊版代碼
雖然我不相信將數(shù)字放在源代碼質(zhì)量上,SonarQube(以前稱為Sonar)在開發(fā)過程中可能是一個(gè)非常有用的工具。它對(duì)您的團(tuán)隊(duì)執(zhí)行一致的風(fēng)格,已經(jīng)發(fā)現(xiàn)了幾個(gè)可能的錯(cuò)誤,并且是一個(gè)很好的工具:您可以瀏覽違規(guī)行為,看看為什么某個(gè)表達(dá)式或代碼塊可能是一個(gè)問題。
為了確保您的代碼庫(kù)保持一致狀態(tài),您還可以直接執(zhí)行代碼開發(fā)者檢入的任何違規(guī)行為。其中一個(gè)問題是很多項(xiàng)目不是綠色項(xiàng)目你有很多現(xiàn)有的代碼。如果您的違規(guī)號(hào)碼已經(jīng)很高,很難判斷是否引入了新的違規(guī)行為。
在這篇文章中,我將向您展示如何從現(xiàn)有代碼的零違反行為開始,而不用觸摸來源,Jens Schauder在他的偉大演講中使用Legacy Teams的靈感來啟發(fā)它。我們將根據(jù)文件中的行忽略所有違規(guī)行為,因此如果有人觸及該違規(guī)行為將再次顯示的文件,開發(fā)人員將負(fù)責(zé)修復(fù)舊版違規(guī)行為。
關(guān)閉違規(guī)插件
我們正在使用SonarQube的關(guān)閉違規(guī)插件。可以為問題配置不同的排除模式。您可以為代碼塊定義正則表達(dá)式,這些代碼塊應(yīng)該被忽略,或者在所有文件或行基礎(chǔ)上停用違規(guī)。
對(duì)于現(xiàn)有代碼,您想忽略某些文件和行的所有違規(guī)。這可以通過在文本區(qū)域中插入這樣的方式來完成排除模式:
de.fhopf.a的.IndexingActor; PMD:SignatureDeclareThrowsException; [23]
這將排除在IndexingActor類的第23行中拋出原始異常的違規(guī)。再次分析代碼時(shí),這種違規(guī)將被忽略。
通過API檢索違規(guī)
除了漂亮的儀表板之外,SonarQube還提供了一個(gè)可用于檢索項(xiàng)目違規(guī)的API。如果您不希望查找代碼庫(kù)中的所有現(xiàn)有違規(guī)行為,并手動(dòng)插入,您可以使用它自動(dòng)生成排除模式。所有這些違規(guī)都可以在/ api /違規(guī)找到,例如HTTP://本地主機(jī):9000 / API /違例。
我確定還有其他方法可以做,但是我使用jsawk來解析JSON響應(yīng)(在Ubuntu上,你必須安裝Spidermonkey而不是默認(rèn)的js解釋器。你必須自己編譯,而且我必須使用一個(gè)特定的版本。嘆了口氣)。
SonarSource
5個(gè)工具可以幫助您編寫更好的Java代碼
在IDR解決方案方面,我們一直在尋找改進(jìn)我們的Java PDF庫(kù)和我們的PDF到HTML5轉(zhuǎn)換器的方法。hao的方法是改進(jìn)我們編寫的Java代碼,我們使用一些有用的工具來幫助我們改進(jìn)代碼,也有助于提高生產(chǎn)力。
在本文中,我們將介紹我們?cè)贗DR Solutions中使用的5種常用的工具,以及如何幫助Java Developers編寫更好的代碼。我還撰寫了一篇針對(duì)更具體的領(lǐng)域的后續(xù)文章,這是一個(gè)幫助您進(jìn)行Java性能調(diào)整的9種工具。
FindBugs的
umdFindbugsFindBugs是一個(gè)開放源代碼程序,根據(jù)Lesser GNU公共許可證的條款分發(fā),并以Java字節(jié)碼而不是源代碼運(yùn)行。
該工具使用靜態(tài)分析來幫助確定Java程序代碼中的數(shù)百種不同類型的錯(cuò)誤,包括空指針解引用,無限遞歸循環(huán),Java庫(kù)和死鎖的不良用法。
FindBugs主要用于識(shí)別大量應(yīng)用中的數(shù)百個(gè)嚴(yán)重缺陷,并且能夠確定潛在錯(cuò)誤的嚴(yán)重性,并分為四個(gè)等級(jí):
1scariest
2scary
3troubling
4of concern.