我多次被告知永远不会做以下事情:
Dog dog = new Dog();
Entry entry = new Entry();
//etc...
请注意Type
/ Object
名称是Dog
,variable
名称是dog
。做这样的事情真的被认为是错误的编程,还是只是不赞成?这会如何导致读取您节目的其他人的可读性差?
感谢您的澄清。
答案 0 :(得分:5)
这本身并不是一个坏主意,但它实际上取决于对象的含义。我将通过一个例子说清楚:
class Engine {
}
class Car {
private Engine engine;
}
您可以在此处看到,命名实例变量engine
并不会对可读性做任何不好的事情。 Car
有一个engine
,在这种情况下,类的名称和实例变量不会产生任何问题。
但请考虑另一个例子:
class Point {
}
class Circle {
private Point point;
}
在这里你可以看到为什么在所有情况下都不是一个好主意。 Circle
有一个名为Point
的{{1}}。好,但这是什么意思?仅仅point
调用它并不能为读者提供信息。也许point
会更合适。
通常,类名表示该类型的所有可能对象的集群。这意味着它的名称通常是通用的。这意味着通常具有与对象名称相同的实例变量应该没有足够的信息,当然在某些情况下,您需要理解的所有内容都可以从上下文推断出来(参见center
示例)但你应该考虑具体案例。
答案 1 :(得分:0)
给出一个变量,一个与其类型相似的名称是没有错的。
Dog dog = new Dog();
Entry entry = new Entry()
都非常合理。这两个示例也符合Java命名建议,例如驼峰案例变量名称,类以可填写的字母开头等等......
答案 2 :(得分:-3)
Juts大声读出来 狗狗=新狗。
现在不这样做是有意义的......