web-dev-qa-db-ja.com

クラスという名前のクラス?

これはもっとスタイルの質問ですが、私のプロジェクトについて現在考えていることです。

学校をモデル化したアプリケーションを作成するとします。したがって、Student、Schoolなどのエンティティがあります。(ほとんどの言語では)Classは予約語であるため、クラスに到達するまでこれはすべて問題なく直感的です。では、Classは予約済みのキーワードなので、学校のクラスをモデル化するエンティティを何と呼びますか?

18
Jason Whitehorn

単語クラスがあいまいになる可能性があるため、別の用語を選択します。

クラスは以下を参照しますか?

  1. コースを受講する学生のグループ?
  2. 今学期の全コース?
  3. 複数の学期で教えられた抽象的なコース?
  4. 特定の時期に卒業する予定の学生のグループ?
  5. その他の学生の分類、つまり上級クラス、特別支援クラス。
  6. 特定の講義

そして、それは学問の領域を離れることさえありません。たぶん、モデル化しようとしているものすべてに適合するより良いWordを見つけることができるでしょう。クラスは多少の混乱を招きます。

37
Winston Ewert

特定のクラスの場合は、「コース」、「科目」、「講義」などの名前を付けることができます。 「セクション」なども使用できます。

Winston Ewert 自分で質問しなければならない質問を本当に強調しました。

21
ihtkwot

同義語を見つけることは良い考えです。例えば、「コース」。

ただし、Wordクラスを再利用する必要性は一般的です(多くの場合、タイプClassのローカル変数の場合)。クラスの従来の置換にはklassclazzが含まれます、およびcls

2
Tommy

ワードクラスがあいまいになる可能性があるため、別の用語を選択することは@Winston Ewertに同意します。

この場合、実装に適したより良い同義語を使用する必要があります。そのようなタイプのアーキテクチャをモデル化する場合は、Courseを選択しますが、他の同義語も使用できます。

ご使用のシステムに多少一致するクラスアーキテクチャの例を確認してください。 参照: Student class and Course class

namingでタグ付けされた質問として、名詞または名詞句を使用して、使用する同義語からクラスに名前を付けます。

1
Niranjan Singh

一部の言語では、classは予約語であり、Classではありません。

1
Adrian

プログラミング言語の構文は別として、Word classは、学校の情報システムの場合、データモデリングの観点からは良い名前ではありません。 クラスが何を意味するかを考えると、(特に)次のことがわかります。

A クラスは、開始と終了があり、学校の教育者によって監視(指導)される定期的にスケジュールされたアクティビティです。このアクティビティ内では、被験者が教えられたり、アクティビティ(スポーツなど)が実行されたりするため、被験者はゼロ、1つ、または複数のクラスとして提供されます。

つまり、単語classは実際には「予定された教育活動」です。そのため、次の選択肢があります。

  • ScheduledEducationalActivity

  • ScheduledActivity(この場合、より一般的で、アクティビティが教育的であったり、講義やセミナー、トーナメントなどのイベントであったりすることができます...)

  • 件名

したがって、名前classは実際には規約または(ビジネス名)ですが、エンティティを説明する最適な名前ではありません。

0
NoChance

一部のプログラミング言語では、変数名に予約語を使用できます(クラス名までも可能ですか?)。たとえばC#では、classが予約語であっても、次のようにできます。

string @class = "Super class";

プログラミング言語の仕様を確認して、これが可能かどうかを確認できます。

そうでない場合は、Winston Ewerthの答えをそのまま使用してください。

0
Tx3