在我的入门编程课程中,我的老师在代码中声明实例变量时总是使用以下命名约定:
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,它引用了与我的教科书相同的约定。由于我无法重现我的老师所遵循的命名惯例,我对他的惯例是否合法持怀疑态度。会议是否教会我的老师即使不被广泛接受也是如此?
答案 0 :(得分:5)
通常,Java中的标准约定是 camel case ,其中以小写字母开始变量,并使用大写字母表示每个其他单词的第一个字母。例如:
int myVariable;
int mySecondVariable;
但请注意,这些是惯例而不是规则。所以任何人都可以自由使用任何约定,但建议使用标准惯例为任何人设置可读代码。
答案 1 :(得分:4)
班级名称和类型
首封:SomeClassName
,URL
(首字母缩略词)
静态,实例变量和方法
骆驼案:thisIsCamelCase
。
<强>常量强>
全部上限:A_CONSTANT
<强>包强>
全部小写:javax.swing.jfilechooser
答案 2 :(得分:3)
我会说在编写代码时你会遵循约定,以便于编写代码。我不认为存在任何现有或不存在的惯例。但是,您制作的课程也可能被其他程序员使用。因此,如果他们不了解您所遵循的惯例,他们可能会遇到问题。因此建议您遵循大多数java程序员遵循的命名约定:
int myFirstNumber;
ClassName objectName;
因此,您可以选择惯例,但我建议您遵循javadoc和教科书中提到的标准。
答案 3 :(得分:0)
领先的下划线没什么大不了的。
只要它不以大写字母开头 - 这将完全混淆java程序员。