我想知道如何命名以首字母开头而不是单词的成员字段。
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;
根据java命名约定成员字段应以mixedcase开头,因此应为rvScale
,类似RV
的成员字段应类似private int rv;
使用正确的字母大小写是遵循命名约定的关键:
小写是指一个单词中的所有字母都不带任何大写字母(例如while、if、mypackage)。
大写是指一个单词中的所有字母都用大写字母书写。如果名称中有两个以上的单词,请使用下划线将它们隔开(例如,MAX_HOURS、FIRST_DAY_OF_WEEK)。
CamelCase(也称为Upper CamelCase)是每个新词以大写字母开头的地方(例如,CamelCase、CustomerAccount、PlayingCard)。
混合大小写(也称为Lower CamelCase)与CamelCase相同,只是名称的第一个字母是小写的(例如hasChildren、customerFirstName、customerLastName)。
你应该把它拼出来。
话虽如此,我还是保留rvScale
。
请记住,唯一应该NOT使用的是rVScale
,因为这可能会导致与内省混淆。
这种情况会生成名为getRVScale
和setRVScale
的getter和setter,但使用bean内省来查找与它们相关的属性,会搜索一个名为RVScale的属性,但该属性并不存在。这是因为在搜索相应的属性时,get/set之后的第一个字母是小写的,除非有两个相邻的字母是大写的(RV),在这种情况下,名称保持原样,产生RVScale。
就像这里解释的:
Javabean约定-属性gId 的方法命名
除非需要,否则不要使用快捷方式。即使快捷方式是私有的(或者可能是因为它们是私有的),命名变量也足够清晰。如果潜在的代码阅读器不理解rv是类似Reclose Volts的快捷方式,请不要使用快捷方式。如果你需要提供提示,实际上这是快捷方式,你是在暗示他应该在某个地方查找它,这意味着什么。他会在哪里找到它?若它在评论中,你们有错误的成员名称,因为你们必须解释这个名称的含义。除非您的应用程序都是关于Reclose Volts的。我建议遵循java惯例,因为它们确实有出现的理由。