InfoQ

News

Review Board - コードレビューをオンラインで

作者 Gavin Terrill, 翻訳者 金森 諭 投稿日 2008年2月25日 午後12時45分

コミュニティ
Architecture
トピック
Artifacts & Tools,
チームワーク,
コラボレーション
タグ
Coding Standards

コードレビューは品質を高め、情報共有とメンターシップの優れた方法となる。 残念なことにこれまではサポートツールの準備に手間がかかったりそもそも準備されなかったせいでコードレビューは後回しにされることが多かった。Review Board(source)はコードレビューのプロセスをサポートするアプリケーションによってこの状況を変えようとしている。このアプリケーションのいくつかの機能をあげよう。

  • 詳細レビュー表示によって、コード変更やスクリーンショットといったレビューに必要なすべての情報をまとめて確認できる
  • 関係するコード行に直接コメントを書き込むこともできる差分表示画面
  • 経過が分かるディスカッション機能
  • レビューの着信や送信を要約して表示するダッシュボード 

Review Boardは昨年の5月にVMWare(サイト・英語)出身の開発者Christian Hammond氏(source)とDavid Trowbridge氏(source)によって公開された。それ以来オープンソースコミュニティのアーリーアダプタから支持を集めてきている。Review Boardの機能はこれまでのところ速いスピードで開発が進められていて(source) ユーザーは使用した感想(source)やコメントをブログに載せている。例えばJoe Heck氏(source)は、

ReviewBoard(source)の最も印象的なことのひとつは、チェックイン前にレビューするための素晴らしいメカニズムやスクリプトのサンプルをサポートしていることだと思います。

パッチをレビューするのにもReview Boardは申し分ない。ポストレビューという機能はSCM(ソフトウェア構成管理システム)に連携し、コミットしようとしてる変更に対してのレビューを依頼することができるツールだ。今のところSVN、CVS、Perforce、Git、Mercurialのレポジトリをサポートし、ユーザー手引き(source)では以下のようにプロセスを説明している。

    1. ユーザーが何かとてもクールな変更を思いつき、ローカルへチェックアウトしたコードを変更する 
    2. ユーザーがレビュー依頼画面で差分を登録し、説明を書き、何人かのレビュアーを選ぶ.
    3. ユーザーはそのレビュー依頼の「公開」ボタンを押して、レビュアーの誰かが見てくれるのを待つ
    4. 誰かがレビュー依頼を見てこうコメントする。「なんてクールなんだ。ただちょっとおかしいな」
    5. ユーザーはレビュアーがコメントした点を直すためにコードを更新する .
    6. ユーザーは更新した差分を登録し、レビュアーのコメントに何を変更したか(あるいはなぜ提案されたような変更をしなかったか)返答する 
    7. レビュアーが更新されたコードを見てゴーサインを出す
    8. ユーザーは変更をレポジトリにコミットする 
    9. ユーザーはさっきのレビュー依頼画面の「承認済み」ボタンを押して、レビュアーのダッシュボードからリクエストを消す
Review BoardはGoogle Code(source)で運営されていて、ライセンスはMIT/X11スタイルとなっている。

原文はこちらです:http://www.infoq.com/news/2008/02/reviewboard
ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。