|
公司基本資料信息
|
SonarSource簡介
我們建立了一個 "商品" 解決方案來管理代碼質量。要做到這一點, 提供hao的產品是不夠的。產品也必須與整個生態系統在開發過程中發揮良好的作用, 否則它們將根本不會被使用 (至少在我們所期望的規模上)。正是基于這一點, 我們建立了 SonarQube 和 SonarLint。與生成系統
SonarQube 與標準構建系統緊密集成, 提供零配置方法。通過與liu行的構建系統 (如 Maven、MSBuild、Gradle 和 ANT) 集成, 我們提供了一種快速的掃描項目的方法, 很少或根本沒有配置。但這并不是唯yi的好處: 這種集成也意味著這種分析 "配置" 將始終是xin的, 因為它是用來構建項目的, 因此在長期運行過程中保持平穩。生成系統ci 引擎與CI 引擎
SonarQube 集成了liu行的連續集成引擎, 如詹金斯和 TFS。SonarQube 與構建系統的集成加上簡單的命令分析線機制, 意味著 SonarQube 已經很容易地與 CI 引擎集成。但是, 我們已經更進一步地提供了額外的集成與 CI 引擎, 如詹金斯和 TFS 通過啟用一鍵式體驗集成 SonarQube 掃描到構建。與ide
開發人員在他們喜歡的 IDE 中獲得代碼質量的反饋。SonarLint 為開發人員提供了在 IDE 中直接對代碼質量的 real-time 反饋, 突出顯示了開發人員類型的問題, 以便將重點放在代碼上。ide公司系統與企業系統
作為企業產品, SonarQube 可以很容易地與現有系統集成, 例如授權和身份驗證。SonarQube 帶有內置功能, 可與常用的安全系統 (如 Active Directory、LDAP、Oauth 等) 集成。身份驗證以及授權可以委派給這些系統。它還可以集成到大多數其他系統, 這得益于它強大的 API。與連續部署
SonarQube 提供了一個簡單的工具, 以集成到管道。SonarQube 提供了在連續交付過程的任何步驟中, 將代碼質量驗證 (稱為質量門) 掛鉤的能力。這使您能夠在代碼是否已通過您的預定義的代碼質量標準集的基礎上進行升級, 從而自動化了升級審批過程。
連續檢查由奧利維爾 Gaudin,SonarSource SA 首席執行官兼共同創始人軟件的范式轉換質量管理介紹軟件質量是每個商業企業日益關注的問題, 因為不斷升級的角色軟件在運行關鍵業務系統中發揮作用。軟件質量包括外部和內部質量。外部或功能性, 質量描述軟件與其定義的功能需求–它是否按預期執行?內部質量描述關鍵的內部代碼的特性, 如健壯性、標準一致性和可維護性。行業統計顯示, 平均而言, 軟件產品的生命周期成本的80% 用于維護,根據內部質量, 維護成本有很高的變異性。這意味著水平軟件產品的可維護性今天將決定其成本責任的水平明天。傳統的代碼質量控制方法涉及 so-called 的準時審核或質量門, 這是對源代碼的定期審核。這些審計通常由外部審計員在開發過程的 "后一英里"-在功能測試期間或之后。根據他們的本性準時的審核會導致開發周期的中斷, 因為它們會導致更改"已完成" 軟件。在hao的情況下, 這種質量控制方法會導致延遲和返工。在壞的情況是, 它導致了劣質軟件的發布。在這兩種情況下, 傳統方法使人們認識到, 構建高質量的軟件過于復雜和昂貴。迫切需要一個新的模式, 強調質量貫穿整個開發周期, 并有更短的反饋回路, 以確保快速解決內部質量問題;簡而言之,從一開始就建立質量的模型, 而不是事后考慮。連續檢查是一個整體的、完全實現的過程, 旨在使內部代碼質量成為軟件開發生命周期的組成部分。通過提高所有利益相關者的知名度生命周期, 連續檢測使企業能夠接受代碼質量 whole-heartedly。在 SonarSource 的支持下, 連續檢驗范式是非常有效的, 并已被證明從小公司到財富100強企業, 在現實世界中工作,各行業。本文詳細介紹了代碼質量管理中的關鍵問題。它然后介紹了連續檢查范式, 并說明了它如何解決這些挑戰,支持數以千計的企業提高軟件質量。
關閉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插件的一些功能已被移動到核心,但是排除違反行為是不可能的,也不會實現。開發商建議僅查看項目的趨勢,而不是總體違規數量。這可以很好地使用差分。