1

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

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

4 回答 4

5

通常,Java 中的标准约定是驼峰式大小写,变量以小写开头,其他单词的第一个字母使用大写。例如:

int myVariable; 
int mySecondVariable;

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

于 2012-11-02T04:43:55.113 回答
4

类名和类型

第一个大写字母:SomeClassName, URL(首字母缩写词)

静态、实例变量和方法

骆驼案:thisIsCamelCase

常数

所有大写:A_CONSTANT

套餐

全小写:javax.swing.jfilechooser

于 2012-11-02T04:40:46.387 回答
3

我想说约定是您在编写代码时遵循的,以便于编写代码。我不认为存在诸如存在或不存在的约定之类的东西。但是,您创建的类也可能被其他程序员使用。因此,如果他们不知道您遵循的约定,他们可能会遇到问题。因此,建议您遵循大多数 java 程序员遵循的命名约定:

int myFirstNumber;
ClassName objectName;

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

于 2012-11-02T04:42:28.993 回答
0

前导下划线没什么大不了的。

只要它不以大写字母开头-这将完全使Java程序员感到困惑。

于 2012-11-02T04:52:07.970 回答