【廣告】
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), 有一個自動化的工具,sonarqube 插件, 實施這種行為不會減輕你的教育團隊的jia做法。每一個指標都可以博弈, 所以你需要讓人們在船上的概念, 真正充分利用它。
SonarQubeSonarQube 度量您的代碼庫的可維護性、可靠性和安全性, 并跟蹤隨著時間的推移而改進。它還指出了代碼中特定的代碼氣味, 應該是固定的。
SonarQube 是由超過75k 的公司使用的, 其中一些有數(shù)以千計的開發(fā)人員和數(shù)百萬行代碼。它成為事實上的代碼質(zhì)量工具, 因為它的介紹8年前, 超過其 Java 根現(xiàn)在支持超過20種語言。
弗雷迪給了我們一個簡要的特點, 從近的版本, 包括 v5.6 (將在幾個星期內(nèi)發(fā)布)。
值得注意的是,代理商sonarqube 插件, 現(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)部, 單獨的分支被視為單獨的項目。配置是重復的, 而且更糟糕的是,中國sonarqube 插件, 每個功能分支都包含了主分支中的所有問題和債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ā)
SonarSource簡介
連續(xù)的代碼質(zhì)量變得容易。連續(xù)檢查
SonarQube 支持持續(xù)的檢驗實踐。在構建 SonarQube 平臺的時候, 我們從一開始就一直在考慮不斷的檢查。因此, 它帶有一切必要的支持實踐, 如質(zhì)量門, 泄漏管理, 治理功能, 一個簡短的反饋循環(huán)等。連續(xù)檢查質(zhì)量門質(zhì)量門
SonarQube 為應用程序升級提供了 go/無 go 門。質(zhì)量門是一個主要的, 現(xiàn)成的 SonarQube 功能。它提供了在每個分析中了解應用程序是否通過或失敗發(fā)布條件的能力。換句話說, 它告訴您在每個分析應用程序是否準備好生產(chǎn) "上"。多個語言
我們的解決方案涵蓋20多種編程語言。通過提供對多種語言 (包括 Java、c#、c/c 、PL/SQL、Javascript 和 COBOL) 的支持, SonarQube 提供了一個涵蓋大量應用程序的解決方案。閱讀更多多語種插件庫圖書館的插件
SonarQube 的經(jīng)驗可以通過插件來擴充。超過60社區(qū)和商業(yè)插件可用于 SonarQube, 使您可以輕松地使用額外的語言、度量和頁面來增強您的體驗。還可以開發(fā)插件以滿足組織內(nèi)的特定需要。連續(xù)代碼質(zhì)量在線
SonarQube 也可以在線上 SonarCloud。受益于在云中所列的一切。隨著 SonarCloud, 你將開始迅速提高你的公共和私人項目的質(zhì)量。
SonarSource設置
在引擎蓋下,這個SonarQube實例依賴于如下所示的許多默認或定制配置設置。
(以上是示例應用程序的截圖)
可以通過該界面訪問和更改各個組件的配置設置。
更新中心
到目前為止看到的各種儀表板中的許多小部件可以從下面的頁面啟用或禁用。還可以對所有小部件進行更新和升級,包括SonarQube本身的更新和升級。
(以上是示例應用程序的截圖)
升級過程
查看[10]中的升級過程,另見[11],了解過程之前和之后應該做什么。
通常停止并重新啟動SonarQube是在應用更新或升級到一個或多個組件或SonarQube本身之前和之后執(zhí)行的常見步驟。
結論
在評估這些功能后,它清楚地表明,該產(chǎn)品具有優(yōu)于其他解決方案的優(yōu)勢,即大量免費插件,基于插件的儀表板系統(tǒng),除了作為開源項目,還有一個很好的開始用。話雖如此,可能有商業(yè)產(chǎn)品有更好的質(zhì)量評估命題,但不一定有用,除非你是一個大型組織。
使用SonarQube作為創(chuàng)建短反饋循環(huán)的工具,代理商sonarqube 插件,并在評估建議的更改的原理后,對代碼庫進行改進。如果反饋不正確或是假陽性或假陰性 - 一個選項是調(diào)整相關組件背后的配置設置,以查看在當前情況下提出的問題是否適用 - 基本上是轉(zhuǎn)動支票或不采取反饋字面上。
企業(yè): 蘇州華克斯信息科技有限公司
手機: 13862561363
電話: 0512-62382981
地址: 蘇州工業(yè)園區(qū)新平街388號