避免使用大型的、单一的方法被认为是一种好的做法。我个人喜欢识别所有具有独特、明确目的的代码,并将它们重构为一种方法。这样,代码读起来更像一本书。
这种方法的一个明显问题是,我的课程最终在其预期范围之外有大量可用的方法,我认为这是非常不受欢迎的。
有一些方法可以在 Java 中创建嵌套函数,但由于该语言不直接支持该功能,因此生成的代码通常难以理解——至少对我来说是这样。
也可以使用嵌套类。我不喜欢这个解决方案的一点是它有点笨拙——是吗?——当“组合在一起”中涉及的一些方法是被覆盖的方法时。
相当模糊的问题,但无论如何我想知道人们是如何做到这一点的。
编辑:我的意思的例子:
public class ClassWithTwoMainMethods {
private int var1;
private int var2;
public void doSomething(int a) {
if (conditionToCheck(a)) {
doSomethingSpecific();
}
}
private void doSomethingSpecific() {
...
}
private boolean conditionToCheck(int a) {
...
}
public void doSomethingElse(int a, int b) {
doSomethingElseHelper1(a+b);
doSomethingElseHelper2();
doSomethingElseHelper3();
}
private void doSomethingElseHelper1(int arg) {
...
}
private void doSomethingElseHelper2() {
...
}
private void doSomethingElseHelper3() {
...
}
}
乍一看,上面的类有一个“main”方法和两个不应该在其他地方使用的“helpers”,以及另一个“main”方法和三个helpers,这并不明显。