实例变量的正确命名约定是什么?

时间:2012-11-02 04:36:08

标签: java coding-style naming-conventions

在我的入门编程课程中,我的老师在代码中声明实例变量时总是使用以下命名约定:

public class Snowman {
    private Ellipse _top;
    private Ellipse _middle;
    private Ellipse _bottom;

public Snowman() {
        _top = new Ellipse();
        _top.setColor(Color.WHITE);
        _top.setFrameColor(Color.BLACK);
        _top.setFrameThickness(1);
        _top.setSize(80, 80);
        _middle = new Ellipse();
        _middle.setColor(Color.WHITE);
        _middle.setFrameColor(Color.BLACK);
        _middle.setFrameThickness(1);
        _middle.setSize(120, 120);
        _bottom = new Ellipse();
        _bottom.setColor(Color.WHITE);
        _bottom.setFrameColor(Color.BLACK);
        _bottom.setFrameThickness(1);
        _bottom.setSize(160, 160);
    }
} 

然而,在课程教科书中,实例变量不是以下划线开头,而是遵循与基本类型变量(int revolutionsPerMinute)相同的命名约定。当我进行在线搜索时,我发现了几个来源,包括在线Javadoc,它引用了与我的教科书相同的约定。由于我无法重现我的老师所遵循的命名惯例,我对他的惯例是否合法持怀疑态度。会议是否教会我的老师即使不被广泛接受也是如此?

4 个答案:

答案 0 :(得分:5)

通常,Java中的标准约定是 camel case ,其中以小写字母开始变量,并使用大写字母表示每个其他单词的第一个字母。例如:

int myVariable; 
int mySecondVariable;

但请注意,这些是惯例而不是规则。所以任何人都可以自由使用任何约定,但建议使用标准惯例为任何人设置可读代码。

答案 1 :(得分:4)

班级名称和类型

首封:SomeClassNameURL(首字母缩略词)

静态,实例变量和方法

骆驼案:thisIsCamelCase

<强>常量

全部上限:A_CONSTANT

<强>包

全部小写:javax.swing.jfilechooser

答案 2 :(得分:3)

我会说在编写代码时你会遵循约定,以便于编写代码。我不认为存在任何现有或不存在的惯例。但是,您制作的课程也可能被其他程序员使用。因此,如果他们不了解您所遵循的惯例,他们可能会遇到问题。因此建议您遵循大多数java程序员遵循的命名约定:

int myFirstNumber;
ClassName objectName;

因此,您可以选择惯例,但我建议您遵循javadoc和教科书中提到的标准。

答案 3 :(得分:0)

领先的下划线没什么大不了的。

只要它不以大写字母开头 - 这将完全混淆java程序员。