Your SlideShare is downloading. ×
0
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
ペアプロワークショップ
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

ペアプロワークショップ

7,305

Published on

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

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

Published in: Education
0 Comments
22 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,305
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
20
Comments
0
Likes
22
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×