Sangam(サンガム)とは、リモートでペアプログラミング(通称ペアプロ)をEclipse上で行うためのものだ。 Eclipseのプラグインとして提供されており、リモートでファイルロックと同期を取りながらペアプロを行うことができる。

ペアプロとは、2人1組でプログラミングする方法で、片方がドライバ(プログラミングする方)ともう一方がオブザーバ(見ているほう)という役割を行いながら進めていきます。詳しくはこちらを参考に。

さて、Sangamの話に戻ります。このプラグインでペアプロを行う場合はインターネット越しでも使えるので、会社と自宅とでペアプロを行いたい場合もぜんぜん使えます。

設定項目も非常にわかりやすく、ローカルエリア内で使用する分には、パフォーマンスも気にならない。ネットワークが遅い環境で、サイズの大きなファイルをペアプロするとどうなるかはわからないです。

まずは、Sangamをダウンロードして、Eclipseにインストールしましょう。

  • Sangamのダウンロードはこちら

Sangam(サンガム)のダウンロード

  • Eclipseのダウンロードとインストールはこちら(私はEclipse version2.1を使いました。)

Eclipseダウンロード

Eclipseインストール

  • Sangamのインストールと設定はこちら(日本語解説)

Sangamインストール/設定

設定について少し補足します。まず、クライアント側のServer Pathの部分はローカルエリア内で使用する場合も必ず「http://」からはじめる。これはローカルエリア内で使用するときに結構忘れがちですが、「http://」から始まっていないとコネクションがつながりません。

また、実際の使用時はファイルはVSSやCVSなどのリポジトリを使用してまったく同じファイル(コメントの位置や行数までまったく同じ)でないと、ファイルの同期がおかしくなります。実際、行番号の違うファイルで行ったら、ドライバの操作している行と同一の行が編集されてしまい、意図しない部分に書き込まれるといったことがありました。

さて、実際に使ってみた感想ですが、非常に面白い。チャット機能がついていてネットワーク越しにペアプロしながらでも、会話ができます。チャットウィンドウは日本語文字も通るので心配なしです。

実際のプロジェクト運用時に使用できるほどまだまだ安全性等は足りないと思いますが、趣味で行う場合なんかは、仲の良い友達と隣同士なかよくペアプロなんかも絵になるんじゃないかと思います。

ペアプロはソースコードの品質をあげるのに非常に効果があるみたいです。実際eXtream Programinng(通称XP)では品質あがったという実績もあります。

これを機会にあなたも是非ペアプログラミングに挑戦してみるのはどうですか?

5/26追記:

このプラグイン、プログラミング講習会みたいなところでも使えるかもしれないですね。講師の人がオブザーバをやって、受講者の方々がそれぞれドライバーをやれば、マルチウィンドウでファイルを見つつ、受講者のソースコードをチェックすることができますよね。ペアプロ以外の使い方も色々できそうです。

  • ペアプロの指南書がAmazonから出ています。

ペアプログラミング―エンジニアとしての指南書

  • Eclipseの書籍でおすすめがあります。
  • XPに興味がでたら、この本を買いませんか?