Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Write code with "Test First"

Dassimen
May 14, 2024
17

Write code with "Test First"

Dassimen

May 14, 2024
Tweet

Transcript

  1. 2 About Me 鈴木智也 a.k.a だっしー • サーバーサイドリードエンジニア • ゆめみは2社目

    • ゆめみ在籍もうすぐ5年になりそう ◦ 新卒メンバーすげーと思いながら仕事をしてる日々 • GWはしまなみ海道走ってきました
  2. 8 なぜテストファースト? 先に書くとどうなるのか • 動くコードは「完成」している ◦ 動くコードとテストコードが同時に揃って完成する • テストコードは将来の開発者のためのコード ◦

    今の自分にとって役に立ってくれる • 出来上がったコードのどこにどのようにテストを書くかわからない ◦ 最初にテストコードを書いているので起きない • お客さんからも催促されてる、手動テストも通ってる ◦ ここはどうにもならない、実装が早くなるわけではない
  3. 10 どのようにするのか? ある関数を実装する前に 実装しようとする関数のテストを書く • 関数名 • インターフェース ◦ 引数

    ◦ 戻り値 • メソッドならどの構造体をレシーバに取るのか これらを呼び出し側から見て違和感無いように作る sumArroundAlive() はまだ無いからエディタには怒られる
  4. 12 どのようにするのか? 初めは趣味プロでやってみるといい おすすめのお題 • FizzBuzz • Game of Life

    cyber-dojoというTDD勉強用のプラットフォームもある (需要ありそうならモブプロ勉強会再開したい)
  5. 20 Appendix 書籍:テスト駆動開発 Kent Beck (著), 和田 卓人 (翻訳) https://www.amazon.co.jp/dp/4274217884/ref=cm_sw_r_tw_dp_U_x_BWLBDb7XS8 DYV

    (特に付録Cがオススメです!) Qiita:初心者プログラマーの僕が、テスト駆動開発を愛する5つの理由 https://qiita.com/anchor-cable/items/4b7b73bc1a2163ded6b6 (私の書いた記事です...内容が一部重複しています)