7

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

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。如果有人知道它是否应该是rVScaleRVScale其他东西,我会很感激这些信息。

编辑 :

另外,像这样的成员字段呢...

private int RV;
4

3 回答 3

4

根据 java命名约定,成员字段应该以混合大小写开头,所以它应该是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)。

于 2012-07-30T13:42:28.290 回答
2

你应该把它拼出来。

话虽如此,我会保留它rvScale

请记住,唯一应该使用的是,rVScale因为这可能会导致与内省混淆。

getRVScale这种情况会生成名为and的getter 和 setter setRVScale,但使用 bean 自省来查找与这些关联的属性,会搜索名为 RVScale 的属性,但该属性并不存在。这是因为在搜索对应的属性时,get/set后面的第一个字母是小写的,除非有两个相邻的大写字母(RV),这样的话,名字就保持原样,生产 RVScale。

就像这里解释的那样:

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

于 2012-07-30T13:49:43.100 回答
1

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

于 2012-07-30T13:51:24.137 回答