0

我被多次告知永远不要做类似的事情:

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

请注意Type/ ObjectnameDogvariablename 是如何的dog。做这样的事情真的被认为是糟糕的编程,还是只是不赞成?这如何导致另一个阅读您的程序的人可读性差?

感谢您的澄清。

4

2 回答 2

5

这本身并不是一个坏主意,但它确实取决于您的对象的含义。我会用一个例子说清楚:

class Engine {

}

class Car {
  private Engine engine;
}

您可以在此处看到,命名实例变量engine不会对可读性造成任何不利影响。aCar有一个engine,在这种情况下,类的名称和实例变量的名称不会产生任何问题。

但考虑另一个例子:

class Point {

}

class Circle {
  private Point point;
}

在这里,您可以看到为什么它在所有情况下都不是一个好主意。ACircle有一个Pointpoint。很好,但这有什么意义呢?称它只是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 回答