テスト駆動開発を勉強する


文章を書く面倒さはLLM(大規模言語モデル)のおかげでかなり軽減された。同様に、開発環境の構築もDockerを使うことで楽になった。お次はコードを書く作業だが、コーディングは楽しいので、ここに関しては今のところあまりAIに頼る必要性を感じない。

ただ、新しい機能を開発するのは楽しいものの、既存コードのメンテナンスはあまり好きではない。修正した箇所が他の部分に悪影響を及ぼさないかを考えるのが面倒だから。そこで、次のステップとしてTDD(テスト駆動開発)を勉強してみようと思う。

昔は以下のようなコードを書いて、想定通りに動作するかを確認していた。

“`
var_dump($array);
exit;
“`

そうして、想定通りの値が出力されれば上記コードをコメントアウトか消す。一度開発したら終わりであればこれでも問題はなかったが、修正を繰り返したりコードが多くなってくると毎回手動で確認するのは非効率で非常に面倒だった。

テストコードを書くのも面倒だが、再開発やメンテナンス時の心理的な不安を解消する効果を考えると、TDDはコストをかけてでも学ぶ価値があるのは分かっている。そろそろちゃんと学ぼう。

https://youtu.be/ueqjypYJnxk などの動画を見てみたが、現時点では、偽陽性・偽陰性に気をつけるレベルでいいと思われる。