ASSERT()の使い方

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

参照

  • 本"writing solid code"の第2章に、ASSERT()の使い方の記述がある。