ASSERT()の使い方
- 全ての処理には、前提条件・事後条件があり、その確認をする。バグ発見と意図の説明の2つの目的がある。
- 前提条件の例
- 例) 依存するオブジェクトの種類の確認、依存するオブジェクトの要素の数の確認、複数の引数の整合性のチェック
- 事後条件の例
- 例) 返し値がメソッドに定められた値である確認、変更したリソースの整合性のチェック
- 例) for/while()の繰り返しの後に、処理が正しく行われたかどうかの確認。
- ないとすぐ落ちるような物は、ASSERTチェックが不要
- 例) this, out引数ポインタなど
- 前提条件の例
参照
- 本"writing solid code"の第2章に、ASSERT()の使い方の記述がある。