私が書いたアサーションのほとんどは、次のような条件式に基づいています。
- 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()
良い名前ですか?