興味があるだけ:Q/A、リリースはデバッグビルド対構築し、アサーション
あなたがソフトウェアがQ/Aにビルドをリリースするとき、あなたは常に「RELEASE」バージョンを使用することを好むか、またはあなたは時々使っていますDEBUGバージョン?
ここに私の思いがあります: 私たちは決して起こるべきではない条件のためにアサートを使用しています。
一方で、Q/Aがアサーションを有効にしてソフトウェアをテストすると、アサーションをトリガするシナリオを作成できる場合は、私たちに報告することができます。
一方、開発者がコードの動作を変更するような方法でアサーションをコーディングしてしまうリスクが常にあります。その場合、Q/Aはアサーションを無効にしてビルドをテストする必要があります。
これまでのRelesaeビルドでは、これまでにQ/Aが動作していました。しかし、Q/Aへの本当に早いリリースがアサーションを有効にして出て行くパターンを試してみることを考えています。その後、出荷に近づくにつれて、ビルドにアサーションが無効になっていることを通知します。
あなたはどう思いますか?
サイドノート: TDDを行っている人にとって、単体テストはコード内のアサーションの必要性や利点を排除していますか? – JMarsch
防衛プログラミングとは、徹底的に使うとかなりの数の基本的なテストをやや時代遅れにします。それでもなお適切なTDDでは、これらのケースでいくつかの例外が予想されるテスト(ArgumentOutOfRangeExceptionなど)を最初に書く必要があります。 – Lucero
私は防衛プログラミングについて同意していますが、私たちは確かにそれを行います - ヌルチェックレンジチェックなど しかし、チェックするのに費用がかかるチェックがいくつかあります。間違い。私たちは、そのような条件に対してアサーションを使用するのが好きです。 – JMarsch