带有首字母的成员变量的命名约定



我想知道如何命名以首字母开头而不是单词的成员字段。

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,因为这可能会导致与内省混淆。

这种情况会生成名为getRVScalesetRVScale的getter和setter,但使用bean内省来查找与它们相关的属性,会搜索一个名为RVScale的属性,但该属性并不存在。这是因为在搜索相应的属性时,get/set之后的第一个字母是小写的,除非有两个相邻的字母是大写的(RV),在这种情况下,名称保持原样,产生RVScale。

就像这里解释的:

Javabean约定-属性gId 的方法命名

除非需要,否则不要使用快捷方式。即使快捷方式是私有的(或者可能是因为它们是私有的),命名变量也足够清晰。如果潜在的代码阅读器不理解rv是类似Reclose Volts的快捷方式,请不要使用快捷方式。如果你需要提供提示,实际上这是快捷方式,你是在暗示他应该在某个地方查找它,这意味着什么。他会在哪里找到它?若它在评论中,你们有错误的成员名称,因为你们必须解释这个名称的含义。除非您的应用程序都是关于Reclose Volts的。我建议遵循java惯例,因为它们确实有出现的理由。

最新更新