16
Coderetreat In Developers’ Summit 2013 Unconference / 今今今今今今今今 (probably next time 今) @haradakiro

Coderetreat のススメ at Developers' Summit 2013 Unconference

Embed Size (px)

DESCRIPTION

DevSumi 2013 のアンカンファレンスで Coderetreat の説明をしてきました。資料を10分くらいで説明して、その後はプロジェクタで投影しながらペアプロしてました。デブサミなのにコード書きたい人が思ったほどいなかったなぁ(しろめ

Citation preview

Page 1: Coderetreat のススメ at Developers' Summit 2013 Unconference

CoderetreatIn Developers’ Summit 2013 Unconference / 今回はさわりだけ(probably next time )

@haradakiro

Page 2: Coderetreat のススメ at Developers' Summit 2013 Unconference

Coderetreat って何?

• ペアプロでプログラミング技術を学ぶセッション• 1セッション 45 分  / 1日6セッション

• 課題は、 Conway’s Game of Life

• セッション終わったらコードは消す

Page 3: Coderetreat のススメ at Developers' Summit 2013 Unconference

Coderetreat って何?

• 毎回セッション毎にペア交代

• 言語は何でもいい• 使いたい・使える開発環境は準備してきてね

• 各セッション毎にチャレンジ課題• トライするかは自由• If 文禁止• ループ禁止• 複数行メソッド禁止• 配列利用禁止• しゃべるの禁止• などなど

Page 4: Coderetreat のススメ at Developers' Summit 2013 Unconference

Coderetreat のルール

• 参加費は無料• まともな昼ご飯が出る

• 45分で終わらせなくてよい

Page 5: Coderetreat のススメ at Developers' Summit 2013 Unconference

Codereteratスケジュール例

09:00 - 09:15 会場、趣旨説明、準備 09:15 - 10:00 ペアプロ セッション #1

10:00 - 10:15 ふりかえり #1

10:15 - 11:00 ペアプロ セッション #2

11:00 - 11:15 ふりかえり #2

11:15 - 12:00 ペアプロ セッション #3

12:00 - 12:15 ふりかえり #3

12:15 - 13:45 昼食 ( 昼食は提供されます )

13:45 - 14:30 ペアプロ セッション #4

14:30 - 14:45 ふりかえり #4

14:45 - 15:30 ペアプロ セッション #5

15:30 - 15:45 ふりかえり #5 ( おやつのじかん )

15:45 - 16:30 ペアプロ セッション #6

16:30 - 16:45 ふりかえり #6

16:45 - 17:00 全体ふりかえり

Page 6: Coderetreat のススメ at Developers' Summit 2013 Unconference

Conway’s Game of Life

• 二次元格子のセル• 個々のセルには8つの近傍セル

• 近傍セルのうち 2 個もしくは 3 個が生きていたら、生存

• 近傍セルのうち 3 個が生きていたら、誕生• それ以外の場合 (1 個以下もしくは 4 個以上 ) は、死

Page 7: Coderetreat のススメ at Developers' Summit 2013 Unconference

セッションふりかえり

• きづいたこと• うまくいったこと• うまくいかなかったこと• 次のセッションでためすこと

• ハッシュタグ #coderetreat

Page 8: Coderetreat のススメ at Developers' Summit 2013 Unconference

Primitive Obsession

• どんなクラスをつかってセル、格子を表現した?• それは、わかりやすい?誤解をまねかない?

• 言語が提供するクラスを使わないでやってみる。

Page 9: Coderetreat のススメ at Developers' Summit 2013 Unconference

XP Simplicity Rules

• テスト全部通せ• 意図が分かるコードを書け• すべてを一回、一回だけ書け• 余計なコードはいっさいなしだ

Page 10: Coderetreat のススメ at Developers' Summit 2013 Unconference

1メソッドの長さは?

• 5行• 3行• 1行

• ちなみに APL では?• life←{↑1 . 3 4=+/,¯1 0 1 . ¯1 0 1 . }⍵∨ ∧ ∘⊖ ∘⌽⊂⍵

Page 11: Coderetreat のススメ at Developers' Summit 2013 Unconference

McCabe CyclomaticComplexity

• 増えると大変• 10超えのメソッドとか見たくもない

• 増やさないには、どうする?

• 条件分岐禁止 !

Page 12: Coderetreat のススメ at Developers' Summit 2013 Unconference

Try

• Ping – Pong   TDD• 一人がテストコード書く、もう一人がプロダクトコー

ド書く• 配列はもういらないよね• TDD as if you mean it• テストコードなしのプロダクトコード書いてないよね

• そろそろループもいらなくない?• プログラマーならコードで語れ! ( しゃべるの禁

止 )

Page 13: Coderetreat のススメ at Developers' Summit 2013 Unconference

Closing Circle

• 今日学んだことは ( もしあれば ) 、何ですか?• 今日驚いたことは ( もしあれば ) 、何ですか?

• 休み明けの仕事で、何かやりかたを変えてみますか?

Page 14: Coderetreat のススメ at Developers' Summit 2013 Unconference

Next Event – To be Announced

• Legacy Code Retreat – 開催(たぶん来月 )• Code Retreat for Legacy Code

Page 15: Coderetreat のススメ at Developers' Summit 2013 Unconference

Thank You!

• ありがとうございます• スポンサーの皆様• 会場提供の皆様• 参加者の皆様

• Please Try At Your Work Place!• ブログ書いてね• Coderetreat.org をのぞいてみてね

• ご質問などは [email protected] へどうぞ。

Page 16: Coderetreat のススメ at Developers' Summit 2013 Unconference

Coderetreat 募集要項

• 募集開始は Twitter 上でアナウンス• どこかの参加募集サイト上で• スポンサーが集まったら