2009-10-12 8 views
7

ブール値プロパティの名前付けにはFramework Design Guidelineとは何ですか?それがない場合は、あなたのお勧めは何ですか?ブール型プロパティの名前を付けるFDGとは何ですか?

私はUserクラスを持っているとしましょう、ユーザーが有効かどうかを指定するプロパティが必要です。これらは私が考えることができるオプションは次のとおりです。

  • BLがいることを言う場合
  • 無効を無効
  • は、また

をIsDisabled

  • でIsEnabled
  • を有効
  • を有効にしますユーザーはデフォルトで無効にして明示的に有効にする必要がありますSystem.Booleanのデフォルト値はfalseであるとしますか?

  • 答えて

    8

    Framework Design Guidelines(Brad Abrahms and Krzysztof Cwalina)は、EnabledまたはIsEnabled(セクション3.6.2)のいずれかを使用すると言います。彼らは肯定的なフレーズ(すなわちCantSeekの代わりにCanSeek)を使用し、最も読みやすいバージョンを使用すると言う(すなわち、CreatedはIsCreatedよりも読みやすい)。

    あなたの場合はEnabledを個人的に使用し、デフォルト値はfalseです。 User.Enabledはよく読んでいて、その意味がはっきりしています。

    +0

    マイクロソフトのコードがこのガイドラインに従わないと面白いですね。 System.Web.Mvc.MvcHandlerには、静的プロパティDisableMvcResponseHeaderがあります。なぜ彼らは無効にすることを選択したのですか?それはデフォルトで有効になっており、boolはデフォルトではfalseなので、デフォルトでは無効になっていないからですか? –

    2

    "無効= false"のような二重否定は "enabled = true"よりもはるかに理解しにくいので、「無効」のバリエーションは避けたいと思います。

    私はまた、より良いメソッド名である動詞 "enable"へのプロパティの形容詞形式を好むでしょう。

    これは「enabled」または「isEnabled」に絞り込みます。これはおそらく個人的なスタイルの問題です& convention。後者はそれがブールだと強調している。前者はより簡潔である。

    関連する問題