1. 程式人生 > >代碼審查工具

代碼審查工具

意見 聲明 force 服務 dia google detailed coo 當前

來自:coolshell

Code Review中文應該譯作“代碼審查”或是“代碼評審”,這是一個流程,當開發人員寫好代碼後,需要讓別人來review一下他的代碼,這是一種有效發現BUG的方法。由此,我們可以審查代碼的風格、邏輯、思路……,找出問題,以及改進代碼。因為這是代碼剛剛出爐的時候,所以,這也是代碼重構,代碼調整,代碼修改的最佳時候。所以,Code Review是編碼實現中最最重要的一個環節。

長時間以來,Code Review需要有一些有效的工具來支持,這樣我們就可以更容易,更有效率地來進行代碼審查工作。下面是5個開源的代碼審查工具,他們可以幫助你更容易地進行這項活動。

1. Review board:
Review board 是一個 基於web 的工具,是由 django 和python設計的。 Review board 可以幫助我們追蹤待決代碼的改動,並可以讓Code-Review更為容易和簡練。盡管Review board 最初被設計在VMware項目中使用,但現在其足夠地通用。當前,其支持這些代碼版本管理軟件: SVN, CVS, Perforce, Git, Bazaar, 和Mercurial.

Yahoo 是review-board的其中一個用戶。

“Review board 已經改變了代碼評審的方式,其可以強迫高質量的代碼標準和風格,並可以成為程序員編程的指導者。每一次,當你訪問search.yahoo.com 時,其代碼都是使用 Review board工具Review過的。 We’re great fans of your work!” – Yahoo! Web Search

技術分享

技術分享

2. Codestriker:
Codestriker 也是一個基於Web的應用,其主要使用 GCI-Perl 腳本支持在線的代碼審查。Codestriker 可以集成於CVS, Subversion, ClearCase, Perforce 和Visual SourceSafe。並有一些插件可以提供支持其它的源碼管理工具。

David Sitsky 是 Codestriker 的作者,並也是最活躍的開發人員之一。 Jason Remillard 是另一個活路的開發者,並給這個項目提供了最深遠最有意義的貢獻。大量的程序員貢獻他們的代碼給 Codestriker 項目,導致了這個項目空前的繁榮。

技術分享

3. Groogle:
Groogle 是一個基於WEB的代碼評審工具。 Groogle 支持和 Subversion 集成。它主要提供如下的功能:

  • 各式各樣語言的語法高亮。
  • 支持整個版本樹的比較。
  • 支持當個文件不同版本的diff功能,並有一個圖形的版本樹。
  • 郵件通知所有的Reivew的人當前的狀態。
  • 認證機制。

技術分享

4. Rietveld:
Rietveld 由Guido van Rossum 開發(他是Python的創造者,現在是Google的員工),這個工具是基於Mondrian 工具,作者一開始是為了Google 開發的,並且,它在很多方面和Review board 很像。它也是一個基於Web的應用,並在Google App Engine 上。它使用了目前最流行的Web開發框架 django 並支持 Subversion 。當前,任何一個使用 Google Code 的項目都可以使用 Rietveld 並且使用 python Subversion服務器。當然,它同樣支持其它的Subversion服務器。

技術分享

5. JCR
JCR 或者叫做 JCodeReview 也是一個基於WEB界面的最初設計給Reivew Java 語言的一個工具。當然,現在,它可以被用於其它的非Java的代碼。

JCR 主要想協助:

  • 審查者。所有的代碼更改都會被高亮,以及大多數語言的語法高亮。Code extracts 可以顯示代碼評審意見。如果你正在Review Java的代碼,你可以點擊代碼中的類名來查看相關的類的聲明。
  • 項目所有者。可以 輕松創建並配置需要Review的項目,並不需要集成任何的軟件配置管理系統(SCM)。
  • 流程信仰者。 所有的評語都會被記錄在數據庫中,並且會有狀態報告,以及各種各樣的統計。
  • 架構師和開發者。 這個系統也可以讓我們查看屬於單個文件的評語,這樣有利於我們重構代碼。

JCR 主要面對的是大型的項目,或是非常正式的代碼評審,從這方面看來,他並不像上面的那些工具。

技術分享

Jupiter:最後我們要提一下Jupiter,這是另一個代碼review的工具你可以去考慮使用的,它是一個Eclipse IDE 的插件。

代碼審查工具