SonarSource 城市之旅2016丹切2016年5月26日在10:14pm今天我參加了倫敦 SonarSource 城市之旅。SonarSource 制作兩個(gè) '連續(xù)代碼質(zhì)量' 工具: SonarQube;和 SonarLint。
雷迪森 sas 波特曼酒店舉辦的低調(diào)活動(dòng)約50與會(huì)者。我們聽(tīng)到了一些適當(dāng)?shù)募夹g(shù)介紹, 從奧利維爾 Gaudin, 弗雷迪槌, 和 SonarSource 的尼古拉斯秘魯和鄧肯波克林頓從微軟。
技術(shù)債wu這一天開(kāi)了一個(gè)問(wèn)題。誰(shuí)負(fù)責(zé)代碼質(zhì)量?還是 QA?
是不加掩飾的: 開(kāi)發(fā)商。
在某些情況下, 引入技術(shù)債wu是可以的, 但團(tuán)隊(duì)需要了解他們所創(chuàng)建的問(wèn)題的權(quán)衡和存在的程度。hao的方法是通過(guò)客觀和一致的測(cè)量。
'修復(fù)泄漏'知道你有問(wèn)題是一回事。修理它是另一回事。
這一天的首要主題是 '修復(fù)泄漏': 當(dāng)你有一個(gè)漏水的管道, 你應(yīng)該先修復(fù)它還是先把它擦干凈?如果你不首先解決問(wèn)題的根源, 那么清理就不是很有用。
(這對(duì)我來(lái)說(shuō)特別的傷感, 因?yàn)槲以诩依锏乃苈┧?所以我遲到了。
在實(shí)踐中, 這意味著設(shè)置一個(gè)質(zhì)量的酒吧 (或 '門(mén)' 的 SonarSource 行話) 新的變化, 但大多忽略現(xiàn)有的問(wèn)題, 直到你得到控制的事情。
這似乎是一個(gè)不錯(cuò)的方法, 有兩個(gè)原因:
它減少了在遺留的基本代碼上開(kāi)始的摩擦力, 因?yàn)槟憧梢约傺b你是從一個(gè)干凈的石板開(kāi)始;這是沙子上的一條線, 它為球隊(duì)的前進(jìn)設(shè)定了期望。奧利維爾不厭其煩地強(qiáng)調(diào), 有一個(gè)自動(dòng)化的工具, 實(shí)施這種行為不會(huì)減輕你的教育團(tuán)隊(duì)的jia做法。每一個(gè)指標(biāo)都可以博弈,河北sonarqube 插件, 所以你需要讓人們?cè)诖系母拍睿?真正充分利用它。
SonarQubeSonarQube 度量您的代碼庫(kù)的可維護(hù)性、可靠性和安全性, 并跟蹤隨著時(shí)間的推移而改進(jìn)。它還指出了代碼中特定的代碼氣味, 應(yīng)該是固定的。
SonarQube 是由超過(guò)75k 的公司使用的, 其中一些有數(shù)以千計(jì)的開(kāi)發(fā)人員和數(shù)百萬(wàn)行代碼。它成為事實(shí)上的代碼質(zhì)量工具, 因?yàn)樗慕榻B8年前, 超過(guò)其 Java 根現(xiàn)在支持超過(guò)20種語(yǔ)言。
弗雷迪給了我們一個(gè)簡(jiǎn)要的特點(diǎn), 從近的版本, 包括 v5.6 (將在幾個(gè)星期內(nèi)發(fā)布)。
值得注意的是, 現(xiàn)代化的體系結(jié)構(gòu)不再需要分析器和數(shù)據(jù)庫(kù)之間的直接連接。這一切都通過(guò)了一個(gè)網(wǎng)絡(luò)服務(wù), 這是更明智的。
質(zhì)量評(píng)級(jí)也正在完善?,F(xiàn)有的 SQALE 度量對(duì)衡量項(xiàng)目的可維護(hù)性很有好處, 但它沒(méi)有考慮到問(wèn)題的嚴(yán)重性。它也沒(méi)有真正與泄漏概念的網(wǎng)格。
在 SonarQube 5.6 中, SQALE 將重新命名為可維護(hù)性, 并且將為性、安全性和可靠性提供新的評(píng)級(jí)。將所有這些信息一起放在所有項(xiàng)目中將是一個(gè)新的治理儀表板 (一個(gè)商業(yè)插件)。
路線在工作中, 我們使用 gitflow。我們不想合并一個(gè)功能分支, 如果它會(huì)降低項(xiàng)目的質(zhì)量, 因此我們特別希望了解分支支持在 SonarQube 中將如何改進(jìn)。
已經(jīng)有拉請(qǐng)求集成與 GitHub 和藏匿, 讓你知道什么時(shí)候合并會(huì)引入債wu。
但是, 目前在 SonarQube 內(nèi)部, 單獨(dú)的分支被視為單獨(dú)的項(xiàng)目。配置是重復(fù)的, 而且更糟糕的是, 每個(gè)功能分支都包含了主分支中的所有問(wèn)題和債wu。
這是幸運(yùn)的 SonarSource 的一個(gè)高優(yōu)先級(jí), 雖然它不會(huì)被宣布時(shí), 它將船舶。目標(biāo)是將項(xiàng)目的所有分支作為對(duì)主分支的比較。
群集是路線圖的一個(gè)令人驚訝的補(bǔ)充, 因?yàn)檫@看起來(lái)不像是一種需要支持大量負(fù)載的產(chǎn)品。然而, 一些真正巨大的設(shè)施確實(shí)存在于野外, 它可以利用多個(gè) web 服務(wù)器與同一數(shù)據(jù)庫(kù)進(jìn)行對(duì)話。
當(dāng)弗雷迪宣布 SonarQube 為服務(wù)時(shí), 群集的隱藏議程變得清晰明了。這將是一個(gè)免費(fèi)的開(kāi)放源碼項(xiàng)目服務(wù), 可以分析任何地方托管的項(xiàng)目 (雖然它需要一個(gè) GitHub 帳戶進(jìn)行身份驗(yàn)證)。它將支持所有的內(nèi)置 SonarSource 插件, 但沒(méi)有第三方的。這對(duì)開(kāi)源社區(qū)來(lái)說(shuō)是一個(gè)好消息!
后, 我有機(jī)會(huì)問(wèn)墻和集成系統(tǒng), 如 JIRA。一般的意見(jiàn)是, 這些應(yīng)該處理外部 SonarQube 本身, 并集成使用的全功能的 rest API 暴露的 SonarQube。
SonarLintSonarLint 是您的 IDE (Eclipse、IntelliJ 或 Visual Studio) 的插件, 它在您鍵入時(shí)標(biāo)記代碼質(zhì)量問(wèn)題。這個(gè)想法是為了防止泄漏之前, 他們共享與其他的研發(fā)










如何使用 SonarQube 改進(jìn)工作流
twitter作為開(kāi)發(fā)人員,中國(guó)sonarqube 插件, 我不得不多次修復(fù)生產(chǎn)環(huán)境中的問(wèn)題。有時(shí), 我在代碼之前沒(méi)有看到任何錯(cuò)誤, 而在其他時(shí)間, 我花了很多時(shí)間試圖理解別人寫(xiě)的代碼-更糟的是, 我把代碼放到生產(chǎn)中, 在幾個(gè)月后發(fā)現(xiàn)了安全漏洞。
很可能你也面對(duì)過(guò)這種情況。因此, 有一個(gè)工具, 可以幫助您在早期階段檢測(cè)到它們, 豈不是很棒嗎?SonarQube 使這成為可能。在這篇文章中, 您將了解它如何幫助您清理代碼并防止將來(lái)出現(xiàn)問(wèn)題。
SonarQube 入門(mén)SonarQube 是一個(gè)開(kāi)放源碼的質(zhì)量管理平臺(tái), 致力于不斷分析和測(cè)量技術(shù)質(zhì)量, 從早的計(jì)劃階段到生產(chǎn)。通過(guò)將靜態(tài)和動(dòng)態(tài)分析工具結(jié)合在一起, SonarQube 連續(xù)監(jiān)視七軸上的代碼, 如重復(fù)代碼、編碼標(biāo)準(zhǔn)、單元測(cè)試、復(fù)雜代碼、潛在 bug、注釋和設(shè)計(jì)以及體系結(jié)構(gòu)。
SonarQube 是一種用于主要編程語(yǔ)言的代碼分析器, 如 c/c++、JavaScript、Java、c#、PHP 或 Python, 等等。通常, 應(yīng)用程序同時(shí)使用多種編程語(yǔ)言, 例如: Java、JavaScript 和 HTML 的組合。SonarQube 自動(dòng)檢測(cè)這些語(yǔ)言并調(diào)用相應(yīng)的分析器。
SonarQube 現(xiàn)在是 Bitnami 目錄的一部分。您可以或推出它與我們準(zhǔn)備使用的云圖像只需幾次點(diǎn)擊和開(kāi)始使用它在您的所有項(xiàng)目。利用 Bitnami 圖像的特點(diǎn): 安全、xin、優(yōu)化、一致等。
玩 SonarQube在這個(gè) GitHub 的項(xiàng)目中, 您將找到一個(gè)用 JavaScript 編寫(xiě)的代碼示例。目標(biāo): 向您展示如何將 SonarQube 合并到您的開(kāi)發(fā)工作流中。存儲(chǔ)庫(kù)包含兩個(gè)主文件夾 (源和測(cè)試), 這樣, 您就可以知道測(cè)試所涵蓋的代碼的百分比。
這個(gè)項(xiàng)目還包括一個(gè)聲納工程. 屬性文件, 其中有一些配置參數(shù)需要配置 SonarQube, 如用戶名, 密碼, 語(yǔ)言等。
運(yùn)行
$ 聲納-掃描儀在項(xiàng)目文件夾內(nèi), 這樣就啟動(dòng)了第yi個(gè)掃描儀, 您可以在 web 界面中檢查結(jié)果。
第yi次掃描
正如您在上面的截圖中所看到的, 當(dāng)前的代碼有零 bug、零漏洞和六代碼的氣味。
我將修改源代碼以引入一個(gè) bug 和一個(gè)漏洞。這一次是有意的, 但是在日常的工作中, 這樣的問(wèn)題會(huì)在你沒(méi)有意識(shí)到的情況下出現(xiàn)。
添加錯(cuò)誤
再次運(yùn)行掃描儀使用
$ 聲納-掃描儀如預(yù)期的那樣,代理商sonarqube 插件, 將出現(xiàn)新的 bug 和漏洞。再次檢查分析以查看所做的更改:
比較掃描
屏幕右側(cè)將出現(xiàn)一個(gè)新節(jié) (以黃色高亮顯示)。SonarQube 處理兩種狀態(tài): 當(dāng)前狀態(tài) (以白色表示) 和xin更改。正如您在截圖中所看到的, 上次掃描中引入的更改增加了一個(gè) bug 和一個(gè)漏洞。SonarQube 評(píng)估每個(gè)部分的質(zhì)量, 評(píng)分基于不同的參數(shù), 一個(gè)是jia狀態(tài)。在這種情況下, 引入 bug 導(dǎo)致 'bug' 部分從 a 傳遞到 C, '漏洞' 部分從 a 到 B。
您可以設(shè)置 '泄漏期間' 來(lái)確定要進(jìn)行比較的方式: 按時(shí)間或在每個(gè)掃描儀執(zhí)行之間。
讓我們?cè)敿?xì)地看看 '覆蓋率' 一節(jié): 38.1% 是測(cè)試覆蓋率 (正如您在 GitHub 存儲(chǔ)庫(kù)中看到的那樣, 我對(duì)某些文件進(jìn)行了測(cè)試, 但對(duì)于所有的文檔都沒(méi)有)。在黃色部分,代理商sonarqube 插件, 您可以看到新添加的行的覆蓋率。以前, 為了添加錯(cuò)誤, 我引入了一些新行, 但我沒(méi)有為這些新行創(chuàng)建任何測(cè)試, 因此新的測(cè)試覆蓋率為0%。此外, 點(diǎn)擊覆蓋范圍, 我可以看到更多的信息的覆蓋面, 例如: 覆蓋的文件, 覆蓋線的數(shù)量, 等等。
錯(cuò)誤信息
通過(guò)這種快速而簡(jiǎn)單的分析 (您只需執(zhí)行一個(gè)命令), 您將能夠防止出現(xiàn)在生產(chǎn)環(huán)境中的錯(cuò)誤, 使代碼保持安全并遵守jia做法和質(zhì)量標(biāo)準(zhǔn)。在下面的迭代中, 我將致力于實(shí)現(xiàn)零 bug、漏洞和代碼氣味的目標(biāo)。我還可以在測(cè)試中得到100% 的代碼。一旦我的代碼處于這種狀態(tài), 就很容易看出所做的更改是否引入了某種錯(cuò)誤或壞的做法。
如何擠壓 SonarQube正如您在上一節(jié)中看到的, 保持代碼的良好狀態(tài)非常簡(jiǎn)單。但是, 還有更多的發(fā)現(xiàn)。SonarQube 有很多很酷的集成。
分析方法可以在下列分析方法之間進(jìn)行選擇:
用于 MSBuild 的 SonarQube 掃描儀:. Net 項(xiàng)目的啟動(dòng)分析SonarQube 掃描器: maven 的啟動(dòng)分析和xiao配置SonarQube 掃描器 Gradle: 發(fā)射 Gradle 分析螞蟻 SonarQube 掃描器: 螞蟻發(fā)射分析詹金斯 SonarQube 掃描儀: 詹金斯發(fā)射分析SonarQube 掃描儀: 當(dāng)其他分析器都不合適時(shí), 從命令行啟動(dòng)分析插件另外, SonarQube 有一個(gè)更新中心與各種各樣的插件組織入不同的類(lèi)別, 一些有用的插件是:
代碼分析器
SonarCFamily c/c++SonarPHPSonarJSSonarWebSonarJavacss集成
GitHub 插件: 分析拉請(qǐng)求, 并指出問(wèn)題作為評(píng)論。谷歌分析: 將 google 分析跟蹤腳本添加到 SonarQube 的 web 應(yīng)用程序中。單片機(jī)引擎
善變的: 增加對(duì)善變的支持。git: 添加對(duì) git 的支持。SVN: 添加對(duì) Subversion 的支持。身份驗(yàn)證和授權(quán)
GitHub 身份驗(yàn)證: 通過(guò) GitHub 啟用用戶身份驗(yàn)證和單一登錄。GitLab 身份驗(yàn)證: 通過(guò) GitLab 啟用用戶身份驗(yàn)證和單一登錄。谷歌認(rèn)證: 啟用用戶身份驗(yàn)證授權(quán)到谷歌。讀過(guò)這篇文章后, 你可能想嘗試 SonarQube, 看看它是如何融入你的日常工作的。您可以直接從 Bitnami 目錄或啟動(dòng)它。
快樂(lè) (和安全) 編碼!






SonarSource
5個(gè)工具可以幫助您編寫(xiě)更好的Java代碼
在IDR解決方案方面,我們一直在尋找改進(jìn)我們的Java PDF庫(kù)和我們的PDF到HTML5轉(zhuǎn)換器的方法。hao的方法是改進(jìn)我們編寫(xiě)的Java代碼,我們使用一些有用的工具來(lái)幫助我們改進(jìn)代碼,也有助于提高生產(chǎn)力。
在本文中,我們將介紹我們?cè)贗DR Soluti中使用的5種的工具,以及如何幫助Java Developers編寫(xiě)更好的代碼。我還撰寫(xiě)了一篇針對(duì)更具體的領(lǐng)域的后續(xù)文章,這是一個(gè)幫助您進(jìn)行Java性能調(diào)整的9種工具。
FindBugs的
umdFindbugsFindBugs是一個(gè)開(kāi)放源代碼程序,根據(jù)Lesser GNU公共許可證的條款分發(fā),并以Java字節(jié)碼而不是源代碼運(yùn)行。
該工具使用靜態(tài)分析來(lái)幫助確定Java程序代碼中的數(shù)百種不同類(lèi)型的錯(cuò)誤,包括空指針解引用,遞歸循環(huán),Java庫(kù)和死鎖的不良用法。
FindBugs主要用于識(shí)別大量應(yīng)用中的數(shù)百個(gè)嚴(yán)重缺陷,并且能夠確定潛在錯(cuò)誤的嚴(yán)重性,并分為四個(gè)等級(jí):
1scariest
2scary
3troubling
4of concern.






溫馨提示:以上是關(guān)于代理商sonarqube 插件-華克斯信息的詳細(xì)介紹,產(chǎn)品由蘇州華克斯信息科技有限公司為您提供,如果您對(duì)蘇州華克斯信息科技有限公司產(chǎn)品信息感興趣可以聯(lián)系供應(yīng)商或者讓供應(yīng)商主動(dòng)聯(lián)系您 ,您也可以查看更多與行業(yè)專(zhuān)用軟件相關(guān)的產(chǎn)品!

蘇州華克斯信息科技有限公司
地址:蘇州工業(yè)園區(qū)新平街388號(hào)
電話:13862561363傳真:0512-62382981
免責(zé)聲明:以上信息由會(huì)員自行提供,內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由發(fā)布會(huì)員負(fù)責(zé),天助網(wǎng)對(duì)此不承擔(dān)任何責(zé)任。天助網(wǎng)不涉及用戶間因交易而產(chǎn)生的法律關(guān)系及法律糾紛, 糾紛由您自行協(xié)商解決。
風(fēng)險(xiǎn)提醒:本網(wǎng)站僅作為用戶尋找交易對(duì)象,就貨物和服務(wù)的交易進(jìn)行協(xié)商,以及獲取各類(lèi)與貿(mào)易相關(guān)的服務(wù)信息的平臺(tái)。為避免產(chǎn)生購(gòu)買(mǎi)風(fēng)險(xiǎn),建議您在購(gòu)買(mǎi)相關(guān)產(chǎn)品前務(wù)必 確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。過(guò)低的價(jià)格、夸張的描述、私人銀行賬戶等都有可能是虛假信息,請(qǐng)采購(gòu)商謹(jǐn)慎對(duì)待,謹(jǐn)防欺詐,對(duì)于任何付款行為請(qǐng)您慎重抉擇!如您遇到欺詐 等不誠(chéng)信行為,請(qǐng)您立即與天助網(wǎng)聯(lián)系,如查證屬實(shí),天助網(wǎng)會(huì)對(duì)該企業(yè)商鋪?zhàn)鲎N(xiāo)處理,但天助網(wǎng)不對(duì)您因此造成的損失承擔(dān)責(zé)任!
聯(lián)系:tousu@tz1288.com是處理侵權(quán)投訴的專(zhuān)用郵箱,在您的合法權(quán)益受到侵害時(shí),歡迎您向該郵箱發(fā)送郵件,我們會(huì)在3個(gè)工作日內(nèi)給您答復(fù),感謝您對(duì)我們的關(guān)注與支持!
增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:粵B2-20191121 | 網(wǎng)站備案編號(hào):粵ICP備10200857號(hào)-23 | 高新技術(shù)企業(yè):GR201144200063 | 粵公網(wǎng)安備 44030302000351號(hào)
Copyright ? 2006-2025 深圳市天助人和信息技術(shù)有限公司 版權(quán)所有 網(wǎng)站統(tǒng)計(jì)