(このページは、まだ書きかけのメモの段階ですが、完成するのはいつになるかわからないので公開します)
ペアプログラミングというのは、 2人のプログラマが1つのマシンでプログラミングを行う開発技法です。 詳しくは、PairProgramming.comをお読みください。
ペアプログラミングは有効な開発技法のようですが、 必ずしもすべてのプログラマが日常のプログラミングにおいて ペアプログラミングを実践できるわけではないでしょう。
このページは、1人でプログラミングを行う人が、 ペアプログラミングという技法の利点を少しでも享受するためのヒントをメモしたものです。 何かの参考になれば幸いです。
なお、結城はペアプログラミングを試したことはありませんので、 見当違いを書いているかもしれません。 意見、ペアプログラミングの経験談、 関連情報などをぜひおよせください。
このページの下部にあるフォームか、 メールで hyuki@hyuki.comまでどうぞ。 表題に [PAIRPRO] という文字列を含めていただければ整理上助かります。
それから、 デザインパターン・メーリングリストもどうぞよろしく。
ペアプログラミングでは実装している人を ドライバー と呼び、それを見ている人を オブザーバ と呼びます。
1人でプログラミングを行う場合には、 この両者のどちらの役を自分がとっているかを意識するのがよいのではないでしょうか。
まず両方の役に愛称をつける。 例えば 「ドラちゃん」 と 「オブちゃん」 のように。 ドラちゃんはキーボードをたたき、マウスをクリックして開発を進める。 オブちゃんはコーヒーを飲みつつ、コードを読み直しデバッグ戦略を考える。
ドラちゃん帽子とオブちゃん帽子を作るのもよいかもしれません。
ペアプログラミングでは2人のプログラマが頻繁に議論をする。 アルゴリズムについて、実装方法について、デバッグについて、…。 アイディアを思いついた側はもう1人にそのアイディアを説明する。 その説明の過程は小さなレビューであり、品質向上に役立つのだろう。
1人でプログラミングを行う場合には、 レビューを意識的に行うのは難しい。 しかし、実は「コメントを書く」という行為は一種のレビューになるのではないか。 ドラちゃんはオブちゃんに向けて説明する気持ちになってコメントを書く。 ドラちゃんはコメントを書いた後、オブちゃんの帽子をかぶってコメントを読む。 理解できたら、ドラちゃんの帽子をかぶりなおしてコードを書き始める。 コードを書いたら、オブちゃんの帽子をかぶってコードを読む。 そしてドラちゃんに「ここ、エラー処理をしていない」などと意見を言う。
文芸的プログラミングでは、 コードと同じレベルでドキュメントを書く(ことが強制される)。 その結果バグが実際に減る(デバッグ時間が減る)のだそうである。
ペアプログラミングでは、2人のプログラマが常に一緒に作業をします(役割は異なりますが)。
常時いっしょに作業してもらえる相手がいなくても、 ときどき自分のために時間を割いてくれる人がいたらその人に 臨時のオブザーバになってもらう、という手があります。 レビューの相手になってもらうのです。 その人に向けて、現在やっていることを説明する。 設計のポイント、問題点、などを丁寧にしかし要領よく。 このとき「誠実な懐疑者」なら最高ですね。
あなたのご意見・感想をお送りください。 あなたの一言が大きなはげみとなりますので、どんなことでもどうぞ。