一般的には、プログラムの動作に関する重要な前提を示す短いアサーションを頻繁に使用することが適切です。
アサーション機能が存在しなければ、多くのプログラマは次のようなコメントを使用します。
if (i%3 == 0) { ... } else if (i%3 == 1) { ... } else { // (i%3 == 2) ... } |
このように不変条件を表明している部分がコードに存在する場合、assert に変更するべきです。上記例の場合、assert が if-else 文の else 節を保護するには次のように変更します。
if (i % 3 == 0) { ... } else if (i%3 == 1) { ... } else { assert i%3 == 2; ... } |
i が負の場合、% 演算子は真の mod 演算子ではないため上記例のアサーションは失敗しますが、残りの計算は続けられ、その結果は負になります。