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

abd*_*dev 1 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);
    }
} 
Run Code Online (Sandbox Code Playgroud)

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

Mad*_*ddy 5

通常,Java中的标准约定是驼峰式情况,其中您使用小写字母启动变量,并使用大写字母表示每个其他单词的第一个字母.例如:

int myVariable; 
int mySecondVariable;
Run Code Online (Sandbox Code Playgroud)

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