【发布时间】:2014-08-10 21:02:00
【问题描述】:
当一个类的公共方法需要调用一个私有方法导致字段被改变时,哪个方法应该改变这个字段?这有什么共同的约定吗?一种方法比另一种更可取吗?
考虑这两个代码sn-ps:
public class boolHolder {
private boolean theBool = false;
public void doYourThing() {
// Do a lot of other stuff
setBool();
}
private void setBool() {
// Do a lot of other stuff, justifying a private method for this
this.theBool = true;
}
}
VS
public class boolHolder {
private boolean theBool = false;
public void doYourThing() {
// Do a lot of other stuff
theBool = setBool();
}
private boolean setBool() {
// Do a lot of other stuff, justifying a private method for this
return true;
}
}
这两个剪断当然是一个非常简单的案例,但我敢肯定,我不是唯一一个以公共方法调用大量私有方法树而告终的人。该字段应该设置在分支的末尾,还是应该传回一个值?
【问题讨论】:
-
一般来说,最好使用公共设置器并保持字段私有,因此可以从类可访问的任何位置设置字段。你的 doYourThing() 方法在我看来它实际上不是一个二传手;它还可以包含其他逻辑。感觉不是一个表演套装的好地方。
标签: java methods field conventions