Если класс становится слишком громоздким с множеством методов и внутренних классов, то, вероятно, это плохой выбор дизайна (сплоченность слишком низкая). Я иногда позволяю классам добираться таким образом случайно, и с ними ужасно иметь дело позже - эти дни, если я смогу увидеть что-то подобное, я, как правило, реорганизую его, возможно, даже в отдельный пакет. Если вы дошли до того, что у вас так много внутренних классов, что вы не знаете, что с ними делать, я бы выбрал этот подход. Даже есть некоторые, которые советуют вообще не использовать внутренние классы по этой причине (хотя я не согласен - они являются ценным ресурсом при правильном использовании, вам просто нужно позаботиться о том, чтобы они не вышли из-под контроля).
орые могут поспорить, что это кандидат на наименее важный вопрос всех времен. Тем не менее, стиль кода - это очень важная тема для меня, и я хочу убедиться, что я пишу код в удобочитаемом виде - для меня и большинства разработчиков.
Вот почему мне интересно, где вы, ребята, объявляете свои внутренние занятия.
Я следую следующей схеме заказа метода, потому что она довольно распространена:
public void foo() {
usedByFoo();
}
private void usedByFoo() {
}
public void bar() {
}
Я заказываю их сверху донизу, каждый метод как можно ближе к тому, где он используется.
Теперь я могу сделать то же самое с внутренними классами, вот так:
class Outer {
private Inner inner;
private class Inner {};
public Outer() {
}
...
}
Я думаю, что это самый последовательный стиль для меня, но я также часто видел, как люди объявляют все внутренние классы либо вверху, либо внизу файла.
Какой стиль мне следует придерживаться, учитывая мой способ заказа методов? Какой самый распространенный способ сделать это?