6

私が書いたアサーションのほとんどは、次のような条件式に基づいています。

  • NSParameterAssert(キー != nil );
  • NSAssert( count <= MAX_FACTOR_COUNT , @"要因が多すぎます");
  • NSAssert1( size %2 == 1 , @"偶数サイズ %i の六角板は作成できません", size);

しかし、ハードコーディングされた偽の値でアサーションの失敗をトリガーするケースもかなりあります。

  • NSAssert( false , @"抽象メソッドが呼び出されました");
  • NSAssert( false , @"未実装");
  • NSAssert( false , @"このサブクラスの無効な操作");

これは私には間違っているように感じます。代わりに次のように言うべきだと思います。

  • NSAssertFail(@"抽象メソッドが呼び出されました");
  • NSAssertFail(@"未実装");
  • NSAssertFail(@"このサブクラスの無効な操作");

私の質問は、人々は伝統的にこれにどのように対処してきたのでしょうか? をラップするプリプロセッサ マクロの名前は何NSAssert(false, ...)ですか?

NSAssertFail()良い名前ですか?

4

0 に答える 0