Categories
程式開發

16個好用的Code Review工具


Code Review 工具自動化了代碼審核過程。它們有助於靜態代碼分析,這對於交付可靠的軟件應用程序至關重要。市場上有太多的 Code Review 工具了,以至於為我們的項目選擇一個合適的 Code Review 工具都會成為一種挑戰。本文精選了 16 個 Code Review 工具,它們都具有最受歡迎的特性和最新的下載鏈接。該列表既包含了開源工具也包含了商業工具。

1. Review Assistant

Review Assistant 是 Visual Studio 的一個擴展。它支持 Visual Studio 2019、2017、2015、2013、2012 和 2010。 Review Assistant 可以幫助創建審查請求並能在不離開 IDE 的情況下對請求做出響應。它支持 TFS、Subversion、Git、Mercurial 以及 Perforce。 Review Assistant 將“代碼審查板(Code Review Board)”窗口添加到 IDE 中。該窗口可用於管理用戶所有可用的審查。

主要特性:

  • 靈活的代碼審查
  • 支持在代碼中討論
  • 帶有缺陷修復的迭代審查
  • 電子郵件通知
  • 豐富的集成功能
  • 報告和統計
  • 該插件可替換 Visual Studio 代碼審查功能(Visual Studio Code Review Feature)

下載鏈接:

https://bit.ly/2Uw0a6M

2. Reshift

Reshift 是一個基於 SaaS(Software-as-a-Service,軟件即服務)的軟件平台,它可以幫助軟件開發團隊在部署代碼到生產環境之前,更快地識別出代碼中更多的漏洞。可以減少發現和修復漏洞的成本和時間,可以識別數據洩露的潛在風險,並能幫助軟件公司達到合規性和法規要求。

主要特性:

  • 可以與 Github 和 Bitbucket 集成
  • 通過拉取請求(pull-request)這個工作流為團隊的處理流程提供安全性,並可以避免切換到其他面板
  • 智能篩選,通過標記問題來減少超時誤報
  • 跟踪每個開發人員功能分支的漏洞
  • 在合併到主乾之前了解關鍵的漏洞
  • 如果引入了新漏洞,則關閉構建

下載鏈接:

https://bit.ly/33Oubj8

3. Gerrit

這是一個開源的輕量級工具,它是基於“Git 版本控制系統”來進行構建的。在所有用戶都是受信提交者的項目環境中,該工具非常有用,因為該工具允許用戶檢查項目中所做的總體變更。

主要特性:

  • Gerrit 阻止用戶直接推送到 Git 庫
  • 允許我們在源代碼中查找錯誤
  • 可以幫助我們創建新變更或更新現有的變更
  • 允許我們在開發者模式和 Git 庫之間進行轉換

下載鏈接:

https://www.gerritcodereview.com/

4. Codestriker

Codestriker 是一個開源的在線源碼審查 Web 應用程序。此代碼審查工具可以幫助我們在數據庫中記錄問題、註釋和決策。它也可以用於代碼檢查(Code Inspections)。

主要特性:

  • 支持傳統的文檔審查
  • 它可以與 Bugzilla、ClearCase、CVS 等集成
  • Codestriker 已獲得 GPL 許可

下載鏈接:

http://codestriker.sourceforge.net/

5. Phabricator

Phabricator 是一個開源的源碼掃描程序。它還包括了基於 Web 的輕量級代碼審查、規劃、測試、bug 發現等功能。

主要特性:

  • 提交前(Pre-Commit)的代碼審查
  • 可以跟踪大量的 bug
  • 可以幫助我們為每個部門構建獨立的任務表單
  • 可定制任務管理
  • 允許我們編寫有用的註釋和備註信息

下載鏈接:

https://www.phacility.com/

6. Crucible

Crucible 是一個基於 Web 的代碼質量工具。開發人員利用它來進行代碼審查、bug 及缺陷發現、變更討論和知識共享。該工具可以幫助他們捕獲主要缺陷並改進他們的代碼架構。

主要特性:

  • 通過內聯註釋、線程引用和對話來協作開發正確的代碼
  • 允許使用活動流(活動流可以顯示最新的註釋)實時跟踪項目和審查更新
  • 當代碼在整個審查過程中被重構和修改時,可以確保我們正在審查的所有文件都是最新的
  • 可以根據審查活動自動更新 Jira 軟件問題,並且通過單擊即可將審查意見轉換為問題

下載鏈接:

https://www.atlassian.com/software/crucible

7. Review Board

Review Board 是一個安全的代碼審查工具。它可用於開源項目和公司的代碼審查和文檔審查。

主要特性:

  • Review Board 可以與 ClearCase、Performce、CVS、Plastic 等集成
  • 該代碼是語法高亮顯示的,這使得它更具可讀性
  • 支持提交前(pre-commit)審查和提交後(post-commit)審查

下載鏈接:

https://www.reviewboard.org/

8. Barkeep

Barkeep 是一個友好的代碼審查系統工具。它提供了一種最簡單的方法來審查代碼。它允許我們查看任何 Git 庫的提交、查看差異點並編寫註釋。

主要特性:

  • 該工具允許我們發送電子郵件給相關的提交者
  • 支持提交後(post-commit)的工作流
  • 提供了乾淨的用戶界面,易於瀏覽

下載鏈接:

http://getbarkeep.org/

9. Reviewable

Reviewable 是一個輕量級的、功能強大的代碼分析工具,它使代碼審查更快、更全面。它通過用戶界面清理、bug 發現以及語法高亮顯示來幫助我們提高代碼質量。

主要特性:

  • 完全可定制的邏輯可以幫助我們確定何時能完成審查
  • 僅適用於 GitHub 和 GitHub Enterprise,可與它們進行無縫集成,最小化管理工作
  • 行註釋可以跨文件版本進行映射,並會一直保留到問題解決為止
  • 可以幫助我們完整地跟踪審查人(每個文件的每個修改版本都是誰審查的),以確保沒有遺漏任何變更。

下載鏈接:

https://reviewable.io/

10. Peer Review Plugin

Peer Review Plugin 消除了耗時的代碼審查會議的需求,因為它使我們可以在基於 Web 的用戶友好的環境中審查代碼。

主要特性:

  • 改善的知識轉移體驗
  • 可以幫助我們審查存儲庫中的文件並對其進行註釋
  • 以 MS Word docx 格式導出數據
  • 更好的代碼以及更少的缺陷
  • 支持 Git、SVN 和 GitHub

下載鏈接:

https://trac-hacks.org/wiki/PeerReviewPlugin

11. Codacy

Codacy 工具通過靜態代碼分析自動識別問題。在每個拉取(pull)和提交(commit)請求中,它能快速地告訴用戶有關安全性問題、代碼重複和代碼複雜度的信息。

主要特性:

  • 可以幫助我們在流程中及早發現新問題,並防止線上受到影響
  • 代碼質量可視化
  • 可以無縫地集成到我們的工作流中
  • 自我託管的解決方案,在服務器上提供了一流的安全性

下載鏈接:

https://www.codacy.com/

12. CodeFactor.io

使用 Code Factor 工具,我們可以了解整個項目的代碼質量、最近提交的內容以及問題最多的文件。我們可以針對每次提交(commit)和拉取(pull)的請求進行跟踪及問題修復。

主要特性:

  • 可以概述我們的代碼庫
  • 可以與我們的開發過程無縫集成
  • 我們可以控制要分析的內容
  • 幫助我們捕獲每一行代碼
  • 簡化代碼審查流程並改進可操作的報告
  • 它提供了分析數據,可以幫助我們理解、貢獻並與同行交流

下載鏈接:

https://www.codefactor.io/

13. Helix Swarm

Helix swarm 是一個代碼審查工具,它可以安排審查、共享內容並查看代碼審查變更。它支持持續集成部署。它可以幫助我們監控進度、自動化設計過程並提高項目的發布質量。

主要特性:

  • 允許我們按照優先級進行篩選
  • 可以在個人資料頁自定義通知設置
  • 可以通過將多個變更分支附加到提交前(pre-commit)審查中來同時審查獨立的組件
  • 通過將 Helix Core 與 Ping Identity、Okta 或其他工具集成來幫助我們確保代碼是安全的

下載鏈接:

https://www.perforce.com/products/helix-swarm

14. Rhodecode

Rhodecode 是一個開源的、安全的企業級源碼管理工具。該工具可作為 Git、Subversion 和 Mercurial 的集成工具。

主要特性:

  • 團隊協作可以提高代碼質量
  • Rhodode 提供了工作流自動化,可以加快協作
  • 權限管理使軟件開發更安全
  • 可以幫助我們將現有代碼庫與新的問題跟踪工具集成在一起

下載鏈接:

https://rhodecode.com/

15. Veracode

Veracode 是一個代碼審查和靜態分析工具。它是基於 SaaS 模型構建的。此工具允許我們從安全性的角度分析代碼。該工具使用二進制代碼 / 字節碼,並能保證 100% 的測試覆蓋率。

主要特性:

  • 即使源碼不可用,也可以通過一致的流程和策略測試桌面、Web 或任何大小的桌面應用程序
  • 不需要手動及自動配置就可以測試多個應用程序
  • 通過在 SDLC 中簡化和集成測試來自動化不同的工作流
  • 通過持續審查過程來提高代碼的生產效率

下載鏈接:

https://www.veracode.com/products/binary-static-analysis-sast

16. JArchitect

JArchitect 是一款易於使用的代碼審查工具,可用於分析 Java 代碼。每次審查後,它都會發送一份項目開發相關的報告。該工具還可以幫助我們提高代碼的可維護性。

主要特性:

  • JArchitect 代碼規則是 LINQ 查詢,可以在第二個查詢中生成
  • JArchitect 可以幫助我們發現數百個甚至數千個影響實際代碼庫的問題
  • 當發現新問題時,它會立即通知開發人員

下載鏈接:

http://www.jarchitect.com/

英文原文

16 BEST Code Review Tools in 2020 [Static Code Analysis]