我想知道有人会如何命名以首字母开头的成员字段,而不是单词。
public class MyClass {
// I know this is how it is for a member field with words.
private String myString;
// What about this String? It is representing the term "RV Scale" which is
// short for "Reclose Volts Scale."
private String RVScale;
}
我知道我可以使用private String recloseVoltsScale
,但我宁愿保留RVScale。如果有人知道它应该是rVScale
还是RVScale
还是其他什么我会很感激信息。
编辑:
此外,像这样的会员领域......
private int RV;
答案 0 :(得分:4)
根据java 命名约定成员字段应以 mixedcase 开头,因此它应为rvScale
,而RV
之类的成员字段应为{ {1}}
使用正确的字母大小写是遵循命名约定的关键:
小写是一个单词中的所有字母都没有任何大小写的地方(例如,如果是mypackage)。
大写是单词中所有字母都以大写字母书写的地方。当名称中有两个以上的单词时,使用下划线将它们分开(例如,MAX_HOURS,FIRST_DAY_OF_WEEK)。
CamelCase (也称为Upper CamelCase)是每个新单词以大写字母开头的地方(例如,CamelCase,CustomerAccount,PlayingCard)。
混合大小写(也称为Lower CamelCase)与CamelCase相同,只是名称的第一个字母是小写的(例如,hasChildren,customerFirstName,customerLastName)。
答案 1 :(得分:2)
你应该拼写出来。
话虽如此,我会保留rvScale
。
请记住,唯一应该使用 NOT 的是rVScale
,因为这可能会引起内省的混淆。
这种情况会生成名为getRVScale
和setRVScale
的getter和setter,但是使用bean introspection来查找与这些相关联的属性,会搜索名为RVScale的属性,该属性不存在。这是因为当搜索相应的属性时,get / set之后的第一个字母是较低的,除非大写(RV)中有两个相邻的字母,在这种情况下,名称保持原样,生产RVScale。
像这里解释的那样:
答案 2 :(得分:1)
除非您需要,否则请勿使用快捷方式。即使它们是私有的(或者可能是因为它们),名称变量也足够清楚。如果潜在的代码阅读器不理解rv作为Reclose Volts之类的快捷方式,请不要使用快捷方式。如果您需要提供提示它实际上是快捷方式,您暗示他应该在某处查找它意味着什么。他会在哪里找到它?如果它在评论中,则您的成员名称错误,因为您必须解释该名称的含义。除非您的申请完全是关于Reclose Volts。我建议遵循java惯例,因为他们确实有理由出现。