Стиль кодирования является источником удивительно жарких разговоров, имея в виду, что я рискну высказать другое мнение:
Код должен быть написан так, чтобы он был наиболее читабельным для людей. Я полностью согласен с этим утверждением, которое было приведено здесь несколько раз.
Отклонение - это то, что мы делаем.
Чтобы помочь пользователю класса понять, как его использовать, необходимо написать и поддерживать соответствующую документацию . Пользователю никогда не нужно читать исходный код, чтобы иметь возможность использовать класс. Если это сделано (либо вручную, либо с использованием инструментов документации в исходном коде), то порядок, в котором публичные и закрытые члены класса определены в источнике, для пользователя не имеет значения.
Однако для тех, кому необходимо понять код, во время проверки кода, запроса на извлечение или обслуживания заказ имеет большое значение - правило простое:
элементы должны быть определены до их использования
Это ни правило компилятора, ни общедоступное. частное правило, но здравый смысл - правило читабельности человека. Мы читаем код последовательно, и если нам нужно «жонглировать» взад-вперед каждый раз, когда мы видим, как используется член класса, но, например, не знаем его тип, это отрицательно влияет на читабельность кода.
Делая деление строго на частное против. public нарушает это правило, потому что закрытые члены класса появятся после того, как они были использованы в любом открытом методе.