【しばらく編集不可モードで運営します】 編集(管理者用) | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴

ペアプログラミングのやりかた -

目次

http://www.wikihow.com/Pair-Program

ペアプログラミングとは、二人が一つのキーボードでプログラミングをすること。

driverはキーボードを叩き、observer(あるいはnavigator)はdriverの書くコードを眺め、エラーや設計を吟味する。

7つのステップ123

1. 作業を決める

座る前に、1〜2時間程度で終わると確信できるはっきりした仕事を決める。

例:「引越しトラックのデータベースに『修理履歴』の機能をつける」

2. 最初の目標を決める

数分で出来るようなことを考える。問題を言葉でパートナーに説明すると考えやすい。何をやるかお互いがわかっていることを確認できる。

3. パートナーを頼りにし、支えてやる

プログラム全体の問題はobserverが考えてくれる。仕事を終わらせることだけに専念すること。

どうやって機能を作るか細かいことを考える。

observerに言われたとおりにコードを打ち込むようなことはしない。

driverのコードを横から睨み、バグ、デザインの改善や簡潔化、大局的な問題について考える。

driverに指摘をするタイミングには気をつける。

例えば今のコードにぬるぽが出ると気づいたら、「ぬるぽに対するユニットテストを追加」とメモをしておく。

driverに「こう書け」と命令しないこと。 「今から言うとおり打て。if (s == NULL) { return...」より「ぬるぽが出るかも」と言ったほうがよい。

4. 喋る

今なにをしようとしているか、変数名、関数名、別の短くすむやり方、今のコードが想定していない入力、observerが知っていてdriverの知らないAPIの事情・・・など。

ペアプログラミングがうまくいっているときは大抵お互いぶっつづけで話している。

例えば:

5. お互い何をやっているか把握する

パートナーが今なにをやってるかわからなくなったり、今なにをするべきか見失ったりすることはよく起こる。

認識がズレだしたら1分以内に話し合って頭の中の同期を取ること。5分もおいてけぼりにしてしまうと、一人でプログラムを書くのと同じことになる。頻繁に同期をとることがペアプログラミングのミソだからだ。

6. 喜ぶ

一仕事すんで次の問題が見えたらお祝いをする。

例えばユニットテストがパスしたときなどにハイファイブする。

テストが失敗してもハイファイブできるようになれば、テスト駆動プログラミングとペアプログラミングの両方の利点を楽しんでいるといえる。

7. 交代する

最低30分ごとに交代すること。これによってお互いの集中力を保つことができ、大局的な視点と細かい事情を二人ともが把握できる。driverはずっと全力でいると疲れてしまうし、observerは観察力を30分以上も保つのは不可能だ。休憩して交代しよう。

コツ