0

次のようなことは絶対にしないように何度も言われました。

Dog   dog   = new Dog();
Entry entry = new Entry();
//etc...

Type/ Objectname と name がDogどのvariableようになっているかに注目してくださいdog。このようなことをするのは本当に悪いプログラミングだと考えられているのでしょうか、それとも単に嫌われているだけなのでしょうか? あなたのプログラムを読んでいる他の人にとって、これはどのように可読性を低下させますか?

明確にしていただきありがとうございます。

4

2 に答える 2

5

それ自体は悪い考えではありませんが、実際にはオブジェクトの意味に依存します。例を挙げて明確にします:

class Engine {

}

class Car {
  private Engine engine;
}

ここで、インスタンス変数に名前を付けてengineも読みやすさが損なわれないことがわかります。aCarには an がengineあり、この場合、クラスの名前とインスタンス変数の名前は問題になりません。

しかし、別の例を考えてみましょう:

class Point {

}

class Circle {
  private Point point;
}

ここでは、すべての状況でこれが良い考えではない理由がわかります。ACircleにはPointと呼ばれるがありpointます。いいけど、このポイントは何?それを呼び出すだけpointでは、読者には有益ではありません。たぶんcenterもっと適切だったでしょう。

通常、クラス名は、そのタイプのすべての可能なオブジェクトのクラスターを表します。これは、その名前が通常一般的であることを意味します。これは、一般に、オブジェクトと同じ名前のインスタンス変数を持つことは、十分な情報を提供しないはずであることを意味します。もちろん、理解する必要があるすべてのことがコンテキストから推測できる状況もありますが (Car例を参照)、実際に考慮する必要があります。特定のケース。

于 2013-11-03T23:39:09.570 に答える
0

変数に、その型に似た名前を付けることは何も悪いことではありません。

Dog dog = new Dog();
Entry entry = new Entry()

どちらも完全に合理的です。どちらの例も、キャメル ケースの変数名、大文字で始まるクラスなど、Java の命名に関する推奨事項を満たしています。

于 2013-11-03T23:39:17.760 に答える