Я видел этот стандарт де-факто во многих местах на многих языках, но я никогда не понимал его - зачем ставить ваши личные поля и методы в начале объявления класса? Метафорически кажется, что личные вещи должны быть расположены внизу (скрыты), а все общедоступное должно быть сверху, так что когда вы читаете класс сверху вниз, вы сначала видите открытый интерфейс, а затем внутреннюю работу.
В чем причина этого?
РЕДАКТИРОВАТЬ: просто чтобы уточнить, я не имею в виду практику объявления всех членов в верхней части класса, но ставить закрытые члены / методы в верхней части объявления класса, прежде чем что-либо публичное.