それ自体は悪い考えではありませんが、実際にはオブジェクトの意味に依存します。例を挙げて明確にします:
class Engine {
}
class Car {
private Engine engine;
}
ここで、インスタンス変数に名前を付けてengine
も読みやすさが損なわれないことがわかります。aCar
には an がengine
あり、この場合、クラスの名前とインスタンス変数の名前は問題になりません。
しかし、別の例を考えてみましょう:
class Point {
}
class Circle {
private Point point;
}
ここでは、すべての状況でこれが良い考えではない理由がわかります。ACircle
にはPoint
と呼ばれるがありpoint
ます。いいけど、このポイントは何?それを呼び出すだけpoint
では、読者には有益ではありません。たぶんcenter
もっと適切だったでしょう。
通常、クラス名は、そのタイプのすべての可能なオブジェクトのクラスターを表します。これは、その名前が通常一般的であることを意味します。これは、一般に、オブジェクトと同じ名前のインスタンス変数を持つことは、十分な情報を提供しないはずであることを意味します。もちろん、理解する必要があるすべてのことがコンテキストから推測できる状況もありますが (Car
例を参照)、実際に考慮する必要があります。特定のケース。