myMethod(first, second)
public void myMethod(int first, int second)
我的老师说不喜欢给他们命名。但我不知道原因是什么?他错了吗?
答案 0 :(得分:7)
变量应描述它们在自己的上下文中的含义。
例如,在方法上下文(形式参数)中,可以比较1和比较2。但在调用上下文(实际参数)中,它可能是myPyjamas
和myAuntsPyjamas
。如果它们在两种情况下“意味着”相同的东西那么就是它。
因此,在这个例子中,它们可能不同:
Fanciness comparativeFanciness= comparePyjamas(myPyjamas,myAuntsPyjamas);
public static Fanciness comparePyjamas(Pyjamas compared1,Pyjamas compared2){
.....
}
让所有想知道我的睡衣非常花哨的人
但是在另一个例子中,它们可能是相同的,因为它们在两种情况下都意味着相同的事情:
setThrustDirection(thrustDirection);
public void setThrustDirection(Vector3d thrustDirection){
.....
}
通常一个好主意是避免变量名称与字段名称(也就是实例变量名称)相同,除非在构造函数中,因为您最终可以shadowing字段(意味着您必须访问该字段)作为this.name
,变量为name
)
答案 1 :(得分:3)
取决于具体情况。如果有一个函数来反转字符串
def reverseString(theString)
theString对于该函数是好的,但在调用该函数的上下文中不太可能是一个好的变量名。如果这是一个人的名字,那就像被称为
的时候 reverseString(firstName)
答案 2 :(得分:2)
我认为这可能是一个阴影问题。如果类具有与方法定义中的参数同名的实例变量,则编码器在引用类级变量时需要小心并使用 this。。我已经看到很多学生忘记了这一点,并想知道为什么代码不起作用。我更喜欢独特的名字来防止这个问题。
答案 3 :(得分:0)
命名的全部意义在于使代码更容易理解,如果你的名字那么它们是可以接受的,如果它们没有,也许你被教导错了......