私がテストを書く主な理由は次のとおりです:#
- 認知負荷の軽減
- 同僚とのコミュニケーションの改善
- 夜に眠れる能力
テストをすることで、難しい問題を頭に収まるほど小さなチャンクに分割することができます。私は若いですが、ソフトウェアエンジニアとしての経験が増えるにつれて、これらのチャンクが小さくなっているのは私の技術が向上しているからなのか、大きくて複雑なアイデアを保持し処理する能力を失っているからなのか、ますます疑問に思うことが増えています。はい、私は少し被害妄想的だと自覚しています。
- コードを書くことは読むよりも簡単です。
- もし今書くコードが難しいのであれば、後で読むことはほぼ不可能です。
これはオリジナルの引用ではないので、これが問題をうまく要約していると思います。コードを構造化する際には、より疲れて集中力が低下している、あるいは「酔っ払った」バージョンの自分でも理解できるようにしてください。
テストはこれに役立ちます。なぜなら、テストケースは使用例を文書化するからです。さらに重要なのは、TDD に従って書かれたコードはよりシンプルで抽象度が低い傾向があることです。
コードがシンプルで退屈であるほど、私は自分の仕事に満足しています。
もし私たちが一緒に仕事をしているなら、私がしたくない最後のことはあなたの人生を難しくすることです。私たち両方にとって、スパゲッティの解きほぐしよりも、もっと報酬のあることに集中できることが望ましいです。例えば、何かを構築することです。