【发布时间】:2011-06-20 13:30:29
【问题描述】:
你能给出一些充分的理由让类名作为任何变量名的一部分吗?我们曾经有这个政策,我觉得这很有用。一些团队成员想要撤销决定。
我目前的论点:
-
你可以直接知道你在说什么:
for(学生学生:学生){ ... }
很容易理解(相对于 Student s 或 Student any)
- 它有助于自我注释代码
- 我们的 ide 对此提供直接支持
- 您可以直接查看您使用的是苹果而不是梨(或熊 ;-))
在细微差别很重要的地方减少混乱:
criteriaBuilder.equal(nameExpression, name);
我能看到的唯一反对意见是它使代码更长(我认为这不是现代 IDE 的问题)。
是否有针对此类建议的公共规定?有人使用相同的规则吗?有什么选择吗?
【问题讨论】:
-
您应该命名变量,以便清楚它们包含/表示什么。类型通常并不重要。你会不会例如写
String string = "Eric"? -
不太清楚你在这里问的是什么:是写“Student student”而不是“Student s”或“Student var”吗?
-
@DJClayworth,是的,他想说把 tpye 放在变量名称前面,例如:“Student studentJack = ....”
-
Student studentJohn;之类的操作似乎很好。我同意它可以更容易地在后面的代码中区分变量。 -
@ymajoros - 你不会找到证明一种方法比另一种更好的证据。与大多数风格指南一样,您会权衡双方并作为组织做出选择。当 IDE 不那么强大并且在重构之前,匈牙利表示法更受欢迎。我觉得随着行业和工具的成熟,它被搁置了。你仍然会在某些地方看到它,但自 1995 年以来,我只在我的一个项目中使用过它,那是因为我扩展的现有代码库使用了它。
标签: java coding-style naming-conventions