|
公司基本資料信息
注意:發布人未在本站注冊,建議優先選擇VIP會員 |
SonarSource
提高應用價值, 降低軟件開發風險
成功的組織在過程中向前移動質量分析并使其迭代
作為整個軟件開發生命周期的一部分。開發和測試世界和業務
方法以及正在向敏捷模型演進-持續的價值生成/連續
改進/連續檢驗是提高質量的重要戰略。這些都是
IDC 為 end-user 客戶和服務提供商所觀察到的關鍵策略:
?傳統的代碼質量方法通常在測試成為檢查表項時失敗
在開發過程結束時, QA 團隊運行一個工具并返回
開發團隊在軟件進入之前需要采取的行動列表
生產.這可能導致延遲和預算超支。所以會發生什么
經常是管理標志移動項目, 沒有質量門
發展.
?在項目開始時從項目代碼分析中收集適當的度量標準
是至關重要的。如果沒有正確的度量標準 (或任何度量標準), 代碼庫可能會在沒有人注意的情況下惡化, 或者在技術債wu達到一定的時候才會注意到
在時間和預算限制的情況下, 成本太高而無法解決的級別。收集
代碼度量連續可以提供可見性, 并使團隊的優勢
控制代碼庫的技術債wu。
?理解要修復的代碼也是必不可少的。通常, 團隊開始重構
因為他們認為代碼庫在性能、脆性、不穩定性方面是不好的,
難于維護和擴展。但如果沒有正確的語境分析, 它是
無法檢測到代碼庫的哪個部分負責所遇到的問題。
因此, 更改可能會應用到錯誤的代碼, 或者正確的代碼被重構
錯誤的方式, 或只有部分問題得到解決。這是一個度量和工具的領域
可以通過標識導致問題的代碼部分來幫助。
確保持續的軟件質量是成功的關鍵
end-user 公司和服務組織都必須運行軟件開發作為
業務.這樣做的一部分是管理軟件的遠程可維護性, 即
發展今天你需要保持明天。積極主動的架構, 也
所創建內容的質量是管理軟件長期支出的關鍵
維護;保存錯誤的、結構較差的軟件是更昂貴的。
在這方面, 應用程序維護團隊還需要對軟件進行可視化, 以便能夠更好地
維護代碼以降低成本, 實現更好的質量, 并提高客戶響應能力
和 ROI。在將任何代碼發送到客戶之前, 為代碼建立一致的進程
分析可以幫助確保必須運行軟件的公司的長期改進
有效地發展。
SonARSOURCE 和 SonARQUBE 平臺
SonarSource: 介紹
SonarSource 是一家瑞士公司, 成立于2008年。該公司誕生的愿望
處理和解決與軟件質量相關的不斷增長的問題, 并為市場帶來解決方案
可以跟蹤的軟件開發過程中的代碼質量。在競爭激烈的市場中
來自少數提供商的服務, SonarSource 的投資組合是由它的根在開放的區別
來源, 其可訪問性, 和一系列的參與選項從包裝和定價
角度.
SonarQube 平臺被創造了并且采取了到市場 (初作為 "聲納"), 與 SonarSource
在2009年10月發布該平臺的第yi個商業插件。到 2010年3月,
SonarSource 開始看到社區和企業都接受了 SonarQube 平臺,
到那時, 一個月被下載超過2000次。在 2010年5月, SonarSource
發布的 COBOL 和 Visual Basic plug-ins, 隨后幾個月后由一個 SQALE 插件,
c# 插件 (2011年6月) 和 PL/SQL 插件 (2011年9月)。
該公司的主要意圖是帶來負擔得起的和直觀的質量解決方案和分析
開發人員還提供了廣泛、分布式使用的功能。今天, SonarSource 有
全球約有350客戶, 包括德意志銀行、美國銀行、米其林、
西班牙、法國巴黎銀行、泰雷茲和 EADs。SonarQube 平臺使用約300
客戶, 與3萬和4萬安裝。該公司已看到的
在過去幾年的增長, 它現在雇用了超過30員工, 從20人
就在12月前
SonarSource
使用 SonarQube 的更廣泛的影響和機會
除了掃描之外, 一些組織看到的一個有趣的結果是, 個人
開始對 SonarQube 提供的信息采取行動, 以改變和改善其
關于質量代碼創建的行為。一些團隊已經開始參與--
甚至興奮-關于去和檢查的因素, 如測試代碼覆蓋率, 并已能夠
大大提高。董事們使用了 SonarQube 的有關規則違規的信息
教育團隊如何改變不良習慣以改進代碼的創建。所以一個關鍵的結果
SonarQube 在這些組織使用的機會, 鼓勵, 甚至推動
正確的行為。
一些組織通過強制將度量與構建集成在一起來幫助實現
和釋放過程。這意味著必須滿足某些標準, 以允許生成和
發布過程向前邁進。雖然你不能強迫人們普遍看待不良的結果,
當項目截止時間和軟件發布日期出現下滑時, 有機會使用
具有特定數據點和基準的工程經理了解
以前的工作。(組織這樣做是明智的, 他們在制定的標準
停止生成和發布過程。
總的來說, 一個實實在在的好處是測試覆蓋率翻了一番, 一些測試
使用 SonarQube 的組件團隊。一些組織已經觀察到測試團隊的覆蓋率
單元測試的4-5 時間的增加, 以及那些的徹底和嚴謹的改進
使用 SonarQube 完成單元測試。這反過來又有助于驅動精que的基準
團隊的進步伴隨著更高質量的代碼的交付。
簡而言之, SonarQube 可以為基本代碼分析提供一個單一的點, 其中用戶來自
開發人員可以去看看他們需要知道什么來幫助提高代碼質量,
可能與代碼評審工具集成, 以便在儀表板中包含代碼評審指標。
SonarQube 的挑戰
SonarSource 的關鍵挑戰之一是讓企業相信投資回報率的好處
實現和使用代碼分析解決方案。在這方面的問題的一部分是, 它的
在許多公司的時候, 組織要理解長期利益是有挑戰性的
正在尋求快速的、迭代的部署。因此, 重要的是要了解長期利益
在代碼的有效期內, 而不僅僅是短期的優勢 (這是
在他們自己的方式顯著, 但不是戰略)。產品的演變, 以解決功能
諸如影響分析和跨平臺分析等功能也是
SonarSource 需要集中, 根據客戶。與代碼審查工具的集成也
被提及作為未來焦點的區域。
SonarSource 的小規模可能是企業部署決策采用的一個障礙。但是,
事實上, 基本產品是開源的, 通常跳轉開始采用的初始使用, 并
也為企業使用商業產品提供了一些保證。企業
在更大的部署中顯示采用 SonarQube 的客戶也有助于
讓那些擔心產品組合的能力被廣泛采用的人打消疑慮。
關閉SonarQube中的舊版代碼違規
一旦您設置了所有組件,您現在可以使用jsawk為所有現有的違規創建排除模式:
curl -XGET'http:// localhost:9000 / api / violation?depth = -1'| ./jsawk -a'return in(“ n”)''return source.key.split(“:”)[1] +“; *; [”+ ne +“]”' |排序| uniq的
這將顯示一個可以粘貼在“關閉違規”插件的文本區域中或將其作為文件簽入存儲庫的列表。隨著下一個分析過程,您將希望看到零違規。當有人通過插入一行更改文件時,會再次顯示違規行為,并且應該被修改。不幸的是,一些違規行為不是基于行的,并會產生一個行號'undefined'。目前我剛剛刪除了這些手動,所以你仍然可能會看到一些違規。
結論
我提出了一種方法來將您的舊版代碼重置為零違例。使用SonarQube 4.0,“切換違規關閉”插件的功能將在內核中使用,因此將更容易使用。我仍然在尋找保持排除模式xin的jia方式。一旦有人必須修復現有文件的違規行為,則應刪除該模式。
更新09.01.2014
從SonarQube 4開始,這種方法不再工作了。 SwitchOffViolations插件的一些功能已被移動到核心,但是排除違反行為是不可能的,也不會實現。開發商建議僅查看項目的趨勢,而不是總體違規數量。這可以很好地使用差分。