web-dev-qa-db-ja.com

データベーステーブルのブール列の命名

「サービス」テーブルと次の列の説明があります

  1. サービスにはユーザー認証が必要ですか?
  2. ユーザーの電子メールによるアクティベーションはサービスに必要ですか?
  3. サービスにはユーザーのモバイルアクティベーションが必要ですか?

以下のようにこれらの列に名前を付けるのをためらいます

IsVerificationRequired
IsEmailActivationRequired
IsMobileActivationRequired

または

RequireVerification
RequireEmailActivation
RequireMobileActivation

どちらの方法が最適か判断できません。したがって、上記の提案された名前の1つが最適ですか、それとも他に良い名前がありますか?

52
Amr Badawy

「IsVerificationRequired」を使用します(使用します)

列名にいくつかの意味を追加して、わかりやすくしようとしています(ValueDate、InsertedDateTime、IsActive、HazCheezBurger、ProductNameなど)。 「Isxxxx」は、たとえば考えずにyes/noを意味しますand「ProductName」とは異なり、2つの状態しかありません。

42
gbn

Isバリアントで実行するか、少なくともRequireRequiresにスワップします。ブール値は質問として表現する必要があります。 Is、Can、Has、Should、これらはすべてブール関数/列の適切なプレフィックスです。これに関するより多くの引数については 137084 を参照してください

16
Dan F

VerificationRequired、EmailActivationRequiredなどを選択します。

データベースは状態のスナップショットなので、上記の列名は、私の意見で述べたものよりも優れています。

6
Srivatsa Katta

現在のプロジェクトで使用している構文により適合するものを選びます。変数の内容を説明しているのでどちらでもかまいませんが、心配する必要があるのは、すべてのプロジェクトで同じ命名基準を維持することだけです。プロジェクトの命名基準をまだ決めていない場合は、最初の方がJava Beanの命名基準に近いものです。慣れている。

1
HoLyVieR