SonarLint –為 c#、VB.NET、Java、JavaScript、PHP 和 Python 提供一個(gè)免費(fèi)的靜態(tài)分析工具5月3日, 2017Code 質(zhì)量, 評(píng)論, Toolingsonar 皮棉, 視覺(jué)工作室這是一個(gè). NET 的重點(diǎn)帖子。
很高興看到人們正在構(gòu)建的東西, 現(xiàn)在 c# 編譯器是開(kāi)源的。我們實(shí)際上是在工具中游泳, 這不是一件壞事, 但我需要考慮我的開(kāi)發(fā)管道中有多少工具。我目前在日常工作中使用 ReSharper 和前綴。NDepend 和 PVS-工作室每周一次的基礎(chǔ)上, 但只在個(gè)人和開(kāi)源項(xiàng)目。我可以在混合中添加另一個(gè)嗎?確保!這不是侵入性的, 不會(huì)與 ReSharper 或 VS 代碼提示沖突。在報(bào)告代碼相關(guān)問(wèn)題的方式上也有一些輕微的幽默。
通過(guò) IDE 的用法
使用此工具的選項(xiàng)尚未更改, 但它支持三shou歡迎的 IDE 的:
IntelliJ視覺(jué)工作室蝕全mian的語(yǔ)言支持來(lái)自 IntelliJ 和 Eclipse 的 IDE。如果您使用的是 Visual Studio (VS), 那么您將得到一個(gè)很好的 c# 和 VB.NET 規(guī)則集。
您也可以在命令行中使用它, 這對(duì)于連續(xù)生成管線來(lái)說(shuō)是的。需要通過(guò) MSBuild 進(jìn)行分析, 因?yàn)樗鼈兊拿钚泄ぞ弋?dāng)前未按廣告方式工作。運(yùn)行分析是很容易的, 而且我可以在構(gòu)建的末尾處理一個(gè) XML 文件, 以生成報(bào)告或存儲(chǔ)某處以便隨著時(shí)間的推移進(jìn)行分析。需要注意的一點(diǎn)是,中國(guó)sonarqube經(jīng)銷商, XML 報(bào)告將在每個(gè)項(xiàng)目目錄中生成一次。
msbuild n/p: RunCodeAnalysis = true/p: CodeAnalysisLogFile = MyXmlReport. xml1msbuild n/p: RunCodeAnalysis = true/p: CodeAnalysisLogFile = MyXmlReport. xml與 Visual Studio 中的規(guī)則交互
有一個(gè)廣泛的214規(guī)則 c# 和62的 VB.NET, 雖然它們不是所有的默認(rèn)啟用。可以對(duì)規(guī)則進(jìn)行定制, 以便為一個(gè)項(xiàng)目運(yùn)行一個(gè)規(guī)則集, 并為另一個(gè)項(xiàng)目設(shè)置另一個(gè)規(guī)則集, 我將在短期內(nèi)解釋。
在真正的 VS 時(shí)尚代碼, 違反了其中的一個(gè)規(guī)則得到一個(gè)彎曲線下面的代碼行, 然后可以處理通過(guò)按 ctrl+。還有漂亮的功能, 這是新的 VS2017, 它使工作與分析儀更愉快。它不僅允許我修復(fù)當(dāng)前正在查看的問(wèn)題, 而且還可以解決相同的問(wèn)題文檔、項(xiàng)目或解決方案。很好。
正如您在下面所看到的, 還有用于禁止規(guī)則的選項(xiàng)。您可以內(nèi)聯(lián)或在它為您創(chuàng)建的全局抑制文件中執(zhí)行此項(xiàng)。
# 雜注指令還有一個(gè)說(shuō)明作為注釋, 它可能對(duì)其他開(kāi)發(fā)人員有幫助。通常我需要查找雜注代碼, 所以這是一個(gè)不錯(cuò)的 VS 功能, 提高了整個(gè)開(kāi)發(fā)人員的經(jīng)驗(yàn)。
我真正喜歡的另一個(gè)特性是, 這些警告給出了一個(gè)簡(jiǎn)短的段落, 解釋了規(guī)則沖突背后的原因。這個(gè)特別的警告是真正引起共鳴的東西, 因?yàn)槲也幌矚g注釋代碼。應(yīng)刪除死代碼。如果有機(jī)會(huì), 你認(rèn)為你會(huì)需要它后, 那么沒(méi)有問(wèn)題, 這就是源代碼管理的是!
如果您需要完整的規(guī)則列表, 我發(fā)現(xiàn)聯(lián)機(jī)幫助非常有用, 因?yàn)槟梢酝ㄟ^(guò)各種帶有標(biāo)記的規(guī)則類型進(jìn)行篩選。
定制規(guī)則
與 VS works 的代碼分析方式保持一致, 您可以通過(guò)右鍵單擊分析器節(jié)點(diǎn) inVS 并選擇 '打開(kāi)活動(dòng)規(guī)則集' 來(lái)訪問(wèn)規(guī)則列表。
從那里, 規(guī)則集只是另一個(gè)類別節(jié)點(diǎn)。如果您想了解有關(guān)定制規(guī)則集的更多信息, 我有一個(gè)關(guān)于 Visual Studio 代碼分析的博客文章, 它將在更深入地進(jìn)行。
一個(gè)知道的陷阱
我無(wú)法得到規(guī)則運(yùn)行在構(gòu)建和不斷得到這個(gè)錯(cuò)誤。
警告 CA0064: 由于無(wú)法加載指ding的規(guī)則集或不包含任何托管代碼分析規(guī)則, 因此未執(zhí)行任何分析。
我確實(shí)在 SonarLint 谷歌集團(tuán)發(fā)布了一個(gè)問(wèn)題, 但據(jù)我所知, 它是孤立于我的機(jī)器。如果發(fā)生這種情況,遼寧sonarqube經(jīng)銷商, 您需要添加分析器程序集 SonarAnalyzer.CSharp.dll,代理商sonarqube經(jīng)銷商, 如下所示。
如果希望分析在生成時(shí)運(yùn)行, 請(qǐng)通過(guò) '項(xiàng)目屬性' 并單擊 '在生成時(shí)啟用代碼分析', 在每個(gè)項(xiàng)目基礎(chǔ)上啟用分析。










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ì)量的酒吧 (或 '門' 的 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)都可以博弈, 所以你需要讓人們?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和JaCoCo的個(gè)人測(cè)試代碼覆蓋率
構(gòu)建部分
這里不需要修改但是,您應(yīng)該注意Maven Surefire的任何自定義配置,以確保它也適用于我們要?jiǎng)?chuàng)建的配置文件。在春季寵物診suo的情況下,這是我們正在寫(xiě)的參考POM的相關(guān)部分:
...
org.apache.ugins
行家-萬(wàn)無(wú)一失-插件
2.13
-XX:-UseSplitVerifier
** / * Test.java
** / * Tests.java
** /它/ * IT.java
...
這種配置告訴Surefire:1)排除執(zhí)行單元測(cè)試的集成測(cè)試(Surefire的雙插件,F(xiàn)ailsafe涵蓋了集成測(cè)試);和2)禁用字節(jié)碼驗(yàn)證器,防止類被調(diào)試時(shí)的運(yùn)行時(shí)錯(cuò)誤(即添加mocks或TopLink增強(qiáng)功能時(shí))。
依賴部分
在本節(jié)中,不需要進(jìn)行任何更改。我們只想注意到,代理商sonarqube經(jīng)銷商,如果您的項(xiàng)目已經(jīng)在利用JaCoCo收集整合測(cè)試覆蓋率指標(biāo),并且明確地指出了本部分中的JaCoCo偽像,那么可以將其留下 - 至今沒(méi)有確定任何沖突。無(wú)論如何,它不應(yīng)該在這里需要,所以從這個(gè)部分刪除它可能更安全。
檔案部分
所有必需的更改都在本節(jié)中。而且它們都非常干凈,因?yàn)樗鼈兌贾恍枰騊OM添加一個(gè)新的配置文件。此配置文件將為Surefire配置一個(gè)特殊偵聽(tīng)器,以確保適當(dāng)收集每個(gè)單獨(dú)測(cè)試用例的覆蓋度量。為了保證成功的測(cè)試執(zhí)行,我們將在此保持與POM的構(gòu)建部分中顯示的相同配置。,配置文件將為包含偵聽(tīng)器代碼的偽zao添加新的依賴關(guān)系。結(jié)果是這樣的:
覆蓋每次測(cè)試
org.apache.ugins
行家-萬(wàn)無(wú)一失-插件
2.13
由JaCoCo prepare-agent - >配置的
$ {argLine} -XX:-UseSplitVerifier
** / * Test.java
** / * Tests.java
** /它/ * IT.java
聽(tīng)者
nar.java.jacoco.JUnitListener
nar-plugins.java
聲納-jacoco-聽(tīng)眾
2.3
測(cè)試







溫馨提示:以上是關(guān)于遼寧sonarqube經(jīng)銷商-華克斯信息的詳細(xì)介紹,產(chǎn)品由蘇州華克斯信息科技有限公司為您提供,如果您對(duì)蘇州華克斯信息科技有限公司產(chǎn)品信息感興趣可以聯(lián)系供應(yīng)商或者讓供應(yīng)商主動(dòng)聯(lián)系您 ,您也可以查看更多與行業(yè)專用軟件相關(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é)商,以及獲取各類與貿(mào)易相關(guān)的服務(wù)信息的平臺(tái)。為避免產(chǎn)生購(gòu)買風(fēng)險(xiǎn),建議您在購(gòu)買相關(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處理,但天助網(wǎng)不對(duì)您因此造成的損失承擔(dān)責(zé)任!
聯(lián)系:tousu@tz1288.com是處理侵權(quá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ì)