最近は、ほとんどテスト駆動開発(TDD)で行っているので、頭の中が整理できていること・リファクタリングをするときにも、ああここは間違っていたなという箇所を思い切って修正することができます。
ただ、テスト駆動開発をしていて感じることは、ある既存のシステムの開発をしているときに、これをしないとテストコードが通らないということがあります。
本来は、それを設定しなくてもテストコードが通らなくてはならないので、こういった実装はすべきではないなと思います。
テスト駆動開発で進めると、こういったメリットや不吉な匂いではありませんが、このような実装はしてはいけないのだなということがよくわかるようになってきました。
ただ、テスト駆動開発をしていて感じることは、ある既存のシステムの開発をしているときに、これをしないとテストコードが通らないということがあります。
本来は、それを設定しなくてもテストコードが通らなくてはならないので、こういった実装はすべきではないなと思います。
テスト駆動開発で進めると、こういったメリットや不吉な匂いではありませんが、このような実装はしてはいけないのだなということがよくわかるようになってきました。