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










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





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







溫馨提示:以上是關于遼寧sonarqube經(jīng)銷商-華克斯信息的詳細介紹,產(chǎn)品由蘇州華克斯信息科技有限公司為您提供,如果您對蘇州華克斯信息科技有限公司產(chǎn)品信息感興趣可以聯(lián)系供應商或者讓供應商主動聯(lián)系您 ,您也可以查看更多與行業(yè)專用軟件相關的產(chǎn)品!
免責聲明:以上信息由會員自行提供,內(nèi)容的真實性、準確性和合法性由發(fā)布會員負責,天助網(wǎng)對此不承擔任何責任。天助網(wǎng)不涉及用戶間因交易而產(chǎn)生的法律關系及法律糾紛, 糾紛由您自行協(xié)商解決。
風險提醒:本網(wǎng)站僅作為用戶尋找交易對象,就貨物和服務的交易進行協(xié)商,以及獲取各類與貿(mào)易相關的服務信息的平臺。為避免產(chǎn)生購買風險,建議您在購買相關產(chǎn)品前務必 確認供應商資質(zhì)及產(chǎn)品質(zhì)量。過低的價格、夸張的描述、私人銀行賬戶等都有可能是虛假信息,請采購商謹慎對待,謹防欺詐,對于任何付款行為請您慎重抉擇!如您遇到欺詐 等不誠信行為,請您立即與天助網(wǎng)聯(lián)系,如查證屬實,天助網(wǎng)會對該企業(yè)商鋪做注銷處理,但天助網(wǎng)不對您因此造成的損失承擔責任!
聯(lián)系:tousu@tz1288.com是處理侵權投訴的專用郵箱,在您的合法權益受到侵害時,歡迎您向該郵箱發(fā)送郵件,我們會在3個工作日內(nèi)給您答復,感謝您對我們的關注與支持!