命知らずの曲芸師
「テストを書く暇があったら、機能を作れ」。
それは「命綱をつける暇があったら、早く綱を渡れ」と言っているのと同じです。
リファクタリングもできず、バグ修正のたびに別のバグが生まれる。
あなたのコードは、いつ転落してもおかしくない状態です。
- 「動くからヨシ!」と、コンソールで動作確認してコミットしている
- 修正の影響範囲が誰にもわからず、リリース後に祈るしかない
- バグが見つかると、犯人探しが始まり、空気が悪くなる
- テストがないため、古くて汚いコードに誰も触りたがらない
テストコードは「保険」ではなく、品質を担保する「唯一の証明書」です。
01. テストは資産である
NO SAFETY NET
テストコードを書く時間は「コスト」ではありません「投資」です。
テストがあれば、大胆な機能追加も、大規模なリファクタリングも、数秒で安全確認ができます。
テストがないシステムは、時間とともに腐敗し、誰も触れなくなります。
「レガシーコード」
である。
02. テスト駆動開発(TDD)の精神
「コードを書いてからテストを書く」のではありません。
まず「どう動くべきか」をテストとして書き(Red)、
そのテストを通すためのコードを書き(Green)、
そしてきれいに整える(Refactor)。
このサイクルが、堅牢でシンプルな設計を生み出します。
03. 自動化の恩恵
人間が行う手動テストは、高コストで、遅く、不正確です。
CI(継続的インテグレーション)を導入し、コミットのたびに数千のテストを自動実行しましょう。
ロボットに任せられる仕事を人間がやるのは、才能の無駄遣いです。