C.C. Agile#30 – Coding Dojo – Prepared Kata

  • View
    1.581

  • Download
    4

  • Category

    Software

Preview:

Citation preview

BOWLING GAME

1

林子閎 Mars 葉明哲 Brian

2015/2/5

Who?

VoIP, NAT Traversal, Real-Time Video Streaming http://www.iptnet.net/

林子閎 Mars

葉明哲 Brian

2

什麼!?

TDD

Coding Dojo

保齡球計分方式說明

小組設計及分享

套路練習 (Prepared Kata)

回顧會議 (Retrospective)

3

TDD

4

Test-Driven Development (TDD)

5 圖片網址: https://www.pinterest.com/pin/463941199089724582/

Let‘s try TDD

有一個計算機(Calculator)類別

add(augend :int , addend :int) : int

(augend) + (addend) = (total)

6

Calculator

+ add(augend :int , addend :int) : int

Coding Dojo

7

Coding Dojo

8

Prepared Kata 由分享者使用TDD帶領參與者逐步解決問題

每一個步驟都能被觀眾所了解(Baby Steps)

參與者不懂台上在幹嘛時,可以隨時打斷分享者

Randori Kata 問題由觀眾一同解決

設定時間(Timebox),台上兩人,一台筆電

一個主駕駛和一個副駕駛(Pair-Programing)

台上兩人須使用TDD和Baby Steps

時間到,主駕駛回觀眾席;副駕駛當主駕駛;另一位觀眾成為駕駛

所有觀眾都須參與活動

保齡球規則說明

9

計分規則

規則 1場保齡球共有10局 每局的分數為當局擊倒瓶數加上Bonus 第1球全倒稱strike,即結束一局 第2球才全倒稱spare 1~9局每局以兩球內將10個球瓶擊倒為原則 第10局如果前兩球為strike或spare就可以打第3球

Bonus Spare - 下一球擊倒之瓶數 Strike - 下兩球擊倒之瓶數 第10局沒有bonus

10

如果是你 會怎麼設計?

11

12

圖片網址:http://www.society30.com/sharing-economy/

套路練習

13

Design

+ roll(pins : int)+ score() : int

Game

首先我們需要一個Class名字為Game,它有兩個methods

roll(pins : int) – 每丟一顆球就呼叫此method一次,參數為當球

擊倒的球瓶數。

score() – 當所有球打完後,呼叫此method,method會回傳總

分。

14

程式說明

Kata 的目地為練習,所以不會力求於寫出一個全方位完美的程式,

例如本程式有一些盲點:

不會判斷每一球的最高擊倒球瓶為10

沒有局的概念

不會判斷每一局的最高擊倒球瓶為10

無法得知中間每局的分數

沒有做最多21球的保護

15

GO 16

回顧會議

17

Retrospective

擠一擠 我們學習了什麼? (寫在黃色便條紙)

什麼阻礙了我們學習? (寫在紅色便條紙)

18

19

圖片網址:http://www.buildingabetterhuman.com/sharemypath/

3Q

20

林子閎 Mars eepoo711@hotmail.com

葉明哲 Brian

tp26610@gmail.com

參考網址 http://codingdojo.org/

http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata