SlideShare a Scribd company logo
1 of 15
Download to read offline
ペアプログラミング
  練習しよう

       Copyright © 2013 by やっとむ (Tsutomu Yasui), 永和システムマネジメント

 This work is licensed under a Creative Commons Attribution 3.0 Unported License.
ペアプログラミングとは

"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人で会話することだ(設計もテストも同時にする)。
 会話するのは、もっと上手にプログラムするためである。」
ペアプロのメリット

• 集中しやすくなる
• よりよい実装を議論できる
• 詰まったときに相談できる
• 全体像とやるべきことを見失わない
• コードを共有できる
• 知識やノウハウを交換できる
ペアプロをうまくやるには

・自分に自信を持ち、相手を尊重する
・声を出す
・頻繁に、気軽に交代する


      練習すると上手になります
ペアプロのプロトコル
はじめに
0. あいさつしましょう
1. ゴールとやることを決めましょう
   – TODOリストを書く
2. 役割を確認しましょう
ペアプロのプロトコル
ペア作業中
•ドライバーがコードを書く
•なにをしているか、常に共有し続ける
•タスクはひとつずつ片付けて、確認する
•どんどん役割を交代する
ペアプロのプロトコル
区切りで
•やったことを見直しましょう
•方針を見直さなくていいか、確認しましょう
    •
  TODOリストの見直しと更新
ドライバーとナビゲータ

ドライバー
•キーボードを使っているほう
•コーディングをする
•目の前のコードに集中

ナビゲータ
•ドライバーを支援する
•全体像や、次のステップを考える

頻繁に交代します
お題:ボウリングのスコア計算

第1問
ボウリングのスコアを計算してください。ここでは、問題を簡
 単にするためにスペアとストライクの計算はしなくていいも
 のとします。
プログラムは、倒したピンの数を配列で受け取って、合計ス
 コアを返すメソッドとして実装してください。
配列の長さは21固定とします(詳しくは配付資料)。
お題:ボウリングのスコア計算

第1問
例(Javaの場合):
public class Bowling {
  static public int score(int[] pins) {
    ...
  }
}

例(Rubyの場合):
def score(pins)
 ...
end
お題:ボウリングのスコア計算

第2問
第1問のプログラムを変更して、スペアとストライクのスコア
 も正しく計算できるようにしてください。
お題:ボウリングのスコア計算

第3問
ボウリングのスコアを、途中段階でも計算できるようにしてく
 ださい。また、すべてのピン数をまとめて渡さず、一回ずつ
 投球するたびに倒したピンの数を渡すようにしてください。
お題:ボウリングのスコア計算

第3問
例(Javaの場合):                    例(Rubyの場合):
public class Bowling {         class Bowl
// 投球するたびに呼び出す                 #投球するたびに呼び出す
public void bowl(int pins) {   def bowl(pins)
    ...                           ...
}                              end
// 現時点でのスコアを返す                 # 現時点でのスコアを返す
public int score() {           def score()
    ...                           ...
  }                            end
}
お題:ボウリングのスコア計算

第4問
スコアシートを出力できるようにしてください。入力方法やス
 コアシートの出力方法は自由です。
やってみましょう

More Related Content

More from Yasui Tsutomu

永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)
Yasui Tsutomu
 
英語の達人に聞く、英語勉強法の本当のトコロ!
英語の達人に聞く、英語勉強法の本当のトコロ!英語の達人に聞く、英語勉強法の本当のトコロ!
英語の達人に聞く、英語勉強法の本当のトコロ!
Yasui Tsutomu
 
Automate your functional testing
Automate your functional testingAutomate your functional testing
Automate your functional testing
Yasui Tsutomu
 

More from Yasui Tsutomu (20)

カンバンゲーム カード(全種類) 裏あり
カンバンゲーム カード(全種類) 裏ありカンバンゲーム カード(全種類) 裏あり
カンバンゲーム カード(全種類) 裏あり
 
アジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティスアジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティス
 
アジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティスアジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティス
 
ジョイ・インク 役職も部署もない全員主役のマネジメント
ジョイ・インク 役職も部署もない全員主役のマネジメントジョイ・インク 役職も部署もない全員主役のマネジメント
ジョイ・インク 役職も部署もない全員主役のマネジメント
 
アジャイルってなにが美味しいの
アジャイルってなにが美味しいのアジャイルってなにが美味しいの
アジャイルってなにが美味しいの
 
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なこととアジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
LeSS Study material (LeSS introduction)
LeSS Study material (LeSS introduction)LeSS Study material (LeSS introduction)
LeSS Study material (LeSS introduction)
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
 
僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!
 
Hey It's Not My TDD!
Hey It's Not My TDD!Hey It's Not My TDD!
Hey It's Not My TDD!
 
The Kanban Game
The Kanban GameThe Kanban Game
The Kanban Game
 
三島teNet第9回ワークショップ アジャイルな開発とは(公開版)
三島teNet第9回ワークショップ アジャイルな開発とは(公開版)三島teNet第9回ワークショップ アジャイルな開発とは(公開版)
三島teNet第9回ワークショップ アジャイルな開発とは(公開版)
 
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
 
カンバンゲーム
カンバンゲームカンバンゲーム
カンバンゲーム
 
Agile Japan2014クロージングセッションのカード
Agile Japan2014クロージングセッションのカード Agile Japan2014クロージングセッションのカード
Agile Japan2014クロージングセッションのカード
 
Agile Japan2014 クロージングセッション
Agile Japan2014 クロージングセッションAgile Japan2014 クロージングセッション
Agile Japan2014 クロージングセッション
 
永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)
 
英語の達人に聞く、英語勉強法の本当のトコロ!
英語の達人に聞く、英語勉強法の本当のトコロ!英語の達人に聞く、英語勉強法の本当のトコロ!
英語の達人に聞く、英語勉強法の本当のトコロ!
 
Automate your functional testing
Automate your functional testingAutomate your functional testing
Automate your functional testing
 

Recently uploaded

The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 

Recently uploaded (8)

世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 

ペアプロワークショップ