SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine(コードジン) DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

グラス片手にアジャイル開発

グラス片手にアジャイル開発 第6回
- アジャイル開発手法「ペアプログラミング」


ライブ! ペアプログラミング

 この章では、実際にペアプログラミングのイメージを掴んで頂くために、以下の例題をどのようにコード化していくのかを見ていきましょう。ここでは、Java言語を例に説明します。

  • 例題:入力された2つ数字に対して、2つの数字の間に含まれる偶数の和を求めなさい

 さあ、ライブスタートです。

 ナビゲーター じゃあ、まずメソッドを作ろう。メソッド名はcountEvenにしよう。引数は整数型を2つ指定しよう。あと、戻り値の変数も用意しておこう。

作成されるコード
int countEven(int n, int m) {
  int sum=0;
}

 ナビゲーター 引数の名前が、nとmでは、何を表しているか分かりにくいので、startとendに変更しよう。

作成されるコード
int countEven (int start, int end) {
  int sum=0;
}

 ナビゲーター start以上からend以下のfor文を追加しよう。

作成されるコード
int countEven (int start, int end) {
  int sum=0;
  for (int i=start; i<=end; i++) {
  }
}

 ドライバー お題は「2つの数字の間」だから、startとendは入らないのでは?

 ナビゲーター そうだね。スタートがstartプラス1で、終わりはend未満だね。

作成されるコード
int countEven (int start, int end) {
  int sum=0;
  for (int i=start+1; i<end; i++) {
  }
}

 ナビゲーター for文の中のiが偶数の場合、sumにiを足す処理を追加しよう。具体的には、if文を書き、iを2で割った余りが0の場合は偶数だから、その中にsumにiを足す処理を追加しよう。

作成されるコード
int countEven (int start, int end) {
  int sum=0;
  for (int i=start+1; i<end; i++) {
    if (i % 2 == 0) sum+=i;
  }
}

 ナビゲーター 最後にsumをreturnで締めよう。

作成されるコード
int countEven (int start, int end) {
  int sum=0;
  for (int i=start+1; i<end; i++) {
    if (i % 2 == 0) sum+=i;
  }
  return sum;
}

 イメージは掴めたでしょうか? このように、ナビゲーターがコードの方向性を示し、ドライバーが実際に文字化(コード化)していきます。その際、ナビゲーターとドライバーの双方により、コードがレビューされます。

次のページ
ペアプログラミングの実際

この記事は参考になりましたか?

グラス片手にアジャイル開発連載記事一覧

もっと読む

この記事の著者

アクセラテクノロジ株式会社 萩原 純一(ハギワラ ジュンイチ)

前職でスーパーコンピュータ向けのコンパイラやデータマイニングソフトウェア、テキスト検索ソフトウェアを設計/開発したのち、2001年にアクセラテクノロジ株式会社の設立に携わる。アクセラテクノロジ社ではエンタープライズサーチシステム「Accela BizSearch」シリーズの企画/設計/開発を担当。一...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5773 2011/03/28 18:05

おすすめ

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー