大規模でモノリシックなメソッドを避けることは、良い習慣と考えられています。個人的には、一意で明確な目的を果たすすべてのコードを特定し、それらをメソッドにリファクタリングするのが好きです。このように、コードは本のように読めます。
このアプローチの明らかな問題は、クラスが意図した範囲外で使用可能な多数のメソッドを持つことになることです。これは非常に望ましくないと思います。
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() {
...
}
}
一見すると、上記のクラスには、他では使用できない 2 つの「ヘルパー」を持つ 1 つの「メイン」メソッドと、3 つのヘルパーを持つ別の「メイン」メソッドがあることがわかりません。