例によって最善の方法である場合もあります。また、物事がテストされているとき、特定のことが起こらないことを人々に思い出させることにも気づきました。次に誰かに何かを書くように頼まれたら、とにかくテストをしてください。最終的には、コードを簡単に変更して、それがまだ機能することを知っていることを同僚がうらやましく思うでしょう。
管理に関しては、テスト対象ではないコードベース X に変更を加える必要があるときに発生する核爆発により、どれだけの時間が浪費されるかを強調する必要があります。
多くの開発者は、システム全体で動作を維持していることを確認せずに、どれだけリファクタリングを行っているかを認識していません。私の意見では、これが単体テストと TDD の最大の利点です。
- ソフトウェア要件の変更
- 要件に合わせたソフトウェアの変更
唯一の確実性は変化です。テスト対象外のコードを変更する場合、開発者は可能な限りすべての動作上の副作用を認識する必要があります。現実には、すべての順列を読み取ることができると考えているコーダーは、明らかに壊れるものが何もなくなるまで、試行錯誤の骨の折れるプロセスによってそうしています。この時点で、彼らはチェックインします。
実用的なプログラマーは、自分が完璧ではなく、すべてを知っているわけではなく、テストは、リファクタリングの綱渡りを迅速かつ安全に行うためのセーフティ ネットのようなものであることを認識しています。
グリーンフィールド コードのテストをいつ作成するかについては、可能な限り推奨する必要があります。システムに必要な動作を定義するのに時間を費やし、最初にテストを作成して、それらのより高いレベルの構造を表現します。単体テストは、考えが具体化するときに発生する可能性があります。
お役に立てれば。