ペアプロワークショップ

8,860 views
9,068 views

Published on

ペアプログラミングの練習をするワークショップの資料です。ペアプロの手順、「ペアプロのプロトコル」が書いてあります。

Published in: Education

ペアプロワークショップ

  1. 1. ペアプログラミング 練習しよう Copyright © 2013 by やっとむ (Tsutomu Yasui), 永和システムマネジメント This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  2. 2. ペアプログラミングとは"Write all production programs with two people sitting at one machine. ... Pair programming is a dialog between two people simultaneously programming (and designing and testing) and to program better."(Extreme Programming Explained 2nd)「プロダクションコードはすべて、2人で1台のマシンに向かっ て書くこと。…ペアプログラミングとは、プログラミングし ながら2人で会話することだ(設計もテストも同時にする)。 会話するのは、もっと上手にプログラムするためである。」
  3. 3. ペアプロのメリット• 集中しやすくなる• よりよい実装を議論できる• 詰まったときに相談できる• 全体像とやるべきことを見失わない• コードを共有できる• 知識やノウハウを交換できる
  4. 4. ペアプロをうまくやるには・自分に自信を持ち、相手を尊重する・声を出す・頻繁に、気軽に交代する 練習すると上手になります
  5. 5. ペアプロのプロトコルはじめに0. あいさつしましょう1. ゴールとやることを決めましょう – TODOリストを書く2. 役割を確認しましょう
  6. 6. ペアプロのプロトコルペア作業中•ドライバーがコードを書く•なにをしているか、常に共有し続ける•タスクはひとつずつ片付けて、確認する•どんどん役割を交代する
  7. 7. ペアプロのプロトコル区切りで•やったことを見直しましょう•方針を見直さなくていいか、確認しましょう • TODOリストの見直しと更新
  8. 8. ドライバーとナビゲータドライバー•キーボードを使っているほう•コーディングをする•目の前のコードに集中ナビゲータ•ドライバーを支援する•全体像や、次のステップを考える頻繁に交代します
  9. 9. お題:ボウリングのスコア計算第1問ボウリングのスコアを計算してください。ここでは、問題を簡 単にするためにスペアとストライクの計算はしなくていいも のとします。プログラムは、倒したピンの数を配列で受け取って、合計ス コアを返すメソッドとして実装してください。配列の長さは21固定とします(詳しくは配付資料)。
  10. 10. お題:ボウリングのスコア計算第1問例(Javaの場合):public class Bowling { static public int score(int[] pins) { ... }}例(Rubyの場合):def score(pins) ...end
  11. 11. お題:ボウリングのスコア計算第2問第1問のプログラムを変更して、スペアとストライクのスコア も正しく計算できるようにしてください。
  12. 12. お題:ボウリングのスコア計算第3問ボウリングのスコアを、途中段階でも計算できるようにしてく ださい。また、すべてのピン数をまとめて渡さず、一回ずつ 投球するたびに倒したピンの数を渡すようにしてください。
  13. 13. お題:ボウリングのスコア計算第3問例(Javaの場合): 例(Rubyの場合):public class Bowling { class Bowl// 投球するたびに呼び出す #投球するたびに呼び出すpublic void bowl(int pins) { def bowl(pins) ... ...} end// 現時点でのスコアを返す # 現時点でのスコアを返すpublic int score() { def score() ... ... } end}
  14. 14. お題:ボウリングのスコア計算第4問スコアシートを出力できるようにしてください。入力方法やス コアシートの出力方法は自由です。
  15. 15. やってみましょう

×