はぜにっき

日記です。(毎日更新ではない)

TDD Workshop at SMARTCAMP 受けた

たのしかった、し、難しかった。
やった内容も公開して良いしtwitterとかブログとか書いてもいいよって仰っていたので書く

何やってたの

(事前にこれのどれかをローカルに持っておく)

github.com

午前中にこれ(ライブコーディング多め)を講演してもらい

speakerdeck.com

昼はこれをペアで解いた

Revenue Recognition · GitHub

gist.github.com

参加者の大半が自動テストを書いたことがある状態だったので、新作のお試し版になってちょっとラッキーだった(と思う)

演習でわかったこと

  • とりあえずModel作って < ApplicationRecord て書こうとした瞬間にRDBが存在しない世界であることに気付く
  • 俺たちはRuby on Rails(というかActiveRecord)の下で生きているんだなあ...
    • 「これってRubyの機能なんだっけ」っていうのを結構な回数言った
    • Rubyenumは無かった。enumでやろうとしたけどなくて配列にした(😇)
      • Moduleでやればよかった
  • 一回目が一番難しいし間違ったら手戻りがすごい
    • 変な焦り方をすると爆発するのは仕事と一緒。落ち着いて考える
  • 問題の大半が「どこにどう役割を持たせるか」なので、普段どこまでちゃんと設計してやっているかが如実にわかる
    • @haze-it は結構適当。あかん
    • デザインパターンは聞いたことがあってもまともに理解してないと使えない
  • Working Out Loudはスキルの一つ
  • それと同時に隣の人の話を聞くのも大事
  • ペアプロ普段からそこそこやっている気がするけどこの演習は意味わからん疲れ方するので前日はよく寝たほうが良い
    • 普段からそれぐらいの頭を使って仕事をしろっていう意味かもしれない...それはそう...

講演も演習も学べたことは多いけど、それをうまく仕事に持っていけるかどうかは別なので頑張りたい