私は多くのコードがClass clazz
のような宣言を持っているのを見ましたが、これはどこから来たのですか?これはある種の慣習ですか? 「clazz」は英語の単語でさえなく、まったく意味がありません。どうして多くのプログラマが偶然間違った名前を付けることができるのでしょうか?
clazz
は、JDK 1.0以降、予約語「クラス」の代わりにJavaで使用されています。 「the」、「_」など)は明瞭さを低下させます。clazz
は単にクラスを示します。
Javaは最初からソースと適切な文化を開示していたので、価値のあるJavaコードとチュートリアルは同じ規則を採用しています。それは素晴らしいことの1つです。 Javaエコシステムについて。これは成功の重要な部分だと思う。
使用したいWordを使用できないため、class
です。予約されています。
それは単に「クラス」が予約キーワードであるためです。したがって、Class class
は許可されていません。したがって、Class clazz
または Class cls
。
それは、実際のコンパイラと、そのコンテキスト内でトークンが何を意味するかを区別する能力に帰着します。ただし、この特定のケースでは、異なるコンテキストでのトークンclass
の意味を区別するのはコンパイラーのinabilityです。 class
は、そのコンテキストに関係なく、クラスの宣言を示すために使用されるという厳格な規則であるため、予約済み Wordです。それは簡単で低レベルです。
やむを得ない場合は、変数名としてclass
を使用できるコンテキスト規則を含める独自のJavaコンパイラーを作成できます。 clazz
またはklass
を使用するだけで時間を有効に活用できます。これはおそらくあなたの健康にも良いでしょう。
これはどこから来たのですか?
Josh Blochのパズルゲームで最初に見ました。しかし、他の開発者によってずっと早く使用されたと確信しています。ジョシュ・ブロッホはそれをもっと有名にした。
Javaには、@
プレフィックスを持つC#とは異なり、キーワードを識別子として使用できる機能がありません(たとえば、@class
は有効な識別子です)。
それは単なる英語の単語であり、キーワードクラスキーワードに置き換えられ(同等)、人々にそれがクラスであることを理解させます。そして、それはほとんどコードの読みやすさを向上させることです
これに関係する大きなロジックはありません
クラスはタイプヘッダーであるため、clazzを使用します。たとえば、ここでクラスを使用します。
public class HelloWorld {
そしてここ:
Object.class.getName();
残念ながら、clazzなどの代替名を使用する必要があります。