Я ненавижу установившиеся стандарты кодирования, все они заинтересованы либо в том, чтобы вас не делали несколько глупых ошибок, либо в том, как так или иначе форматировать ваш код. Все это мелочи.
Я имею в виду, они скажут вам, сколько пробелов ставить между операторами, как записывать ваши переменные, какие префиксы в «венгерском стиле» использовать (например, _ для членов), противоречивые советы (например, вы не можете вызвать класс Cxyz, но вы должны вызовите интерфейс Ixyz), как расположить код в коде (поместите переменную вверху класса или внизу)
Все бесполезно в большой картине.
То, что важно для написания эффективного, поддерживаемого и читаемого кода, никогда не упоминается в этих стандартах.
Например: вы помещаете свои переменные вверху или внизу своего класса? Ну, кого это волнует - важно, если вы сгруппируете свои переменные по функциональным областям. Это имеет значение (вы будете знать это, если вы когда-нибудь видели 20 переменных, разбросанных по всему месту).
Они говорят вам, чтобы поставить свои фигурные скобки в определенных местах. Большое дело! Я могу читать код в скобках в стиле K & R и ANSI, это не имеет значения. Важно то, что все классы Window как-то различаются (например, с суффиксом Form, Dlg и т. Д.), Чтобы вы могли видеть, какие файлы содержат код окна, а какие - обычные объекты.
Подобные вещи имеют гораздо большее значение, чем незначительные моменты, которые обычно содержатся в стандартах. Я не знаю, почему они так развивались, но зачастую это просто тонна правил, мешающих эффективному и продуктивному кодированию.
Мои стандарты стараются больше ориентироваться на организацию кода и файлов. У нас есть определенные стандарты, которые указывают, где файлы будут найдены. Например, ребята, не являющиеся разработчиками, могут взглянуть на один из наших проектов и сразу же получить нужные им файлы документации. Точно так же мы пытаемся расположить код проекта таким же образом, как и другие проекты, насколько это практически возможно (примечание: настолько практично, но не строго запрещенным образом, который может не подходить все время), и в основном мы пытаемся сделать руководящие принципы по стандартам, которые могут быть изменены по мере необходимости.
Короче говоря - они здесь, чтобы помочь нам работать вместе, а не как набор ограничительных правил, которые всегда должны соблюдаться.