Я собираюсь принять противоречивое мнение и сказать нет, вам не нужен стандарт кодирования . Либо правила, как вы говорите, принудительные руководящие принципы IDE, общие рекомендации, которым должны следовать все в каждой компании, либо это индивидуальные суждения для каждой команды, которые должны быть сделаны более чем одним человеком в компетентной команде. через парное программирование или обзоры кода.
Такие вещи, как Как мы должны назвать эту переменную? Какие языковые функции мы должны использовать? Должны ли мы избегать? Какое тестирование лучше? Лучше всего оставить их без ответа, пока мы не столкнемся с узко определенной проблемой, над которой мы сейчас работаем .
Кристаллизованные из этих крошечных решений, могут возникнуть неформальные стандарты / шаблоны внутри групп, основанные на пересечении с текущей проблемной областью и используемыми технологиями. Кодификация этих средств означает, что мы считаем, что такие вещи, как стандарт именования, соответствующее языковое подмножество и т. Д., Используемые в этих проектах на основе сотен микро-решений и неформально принятые этими командами, должны направлять каждый проект вперед.
В принципе это звучит здорово, но на самом деле это просто магнит для политики. Какие инструменты мы можем заставить всех использовать? Чего я хочу заставить других людей избегать? Если бы все согласились с этими вопросами, нам не понадобился бы стандарт. Мы бы просто сделали это. По моему опыту, стандарты исходят из желания одного подмножества разработчиков осуществлять контроль над другим подмножеством. Как правило, этот тип политики и технологическая политика, которая следует за ней, только подавляют инновации, а не обеспечивают руководство.
Если вам нужно настоящее руководство , вместо того, чтобы читать стандарт с кучей бесполезных правил, найдите способных членов вашей команды и спросите их, что они думают. Чем они были сожжены? Как они предлагают вам написать код? Вы получите множество полезных ответов с большим ценным опытом, чтобы поддержать это. Вы увидите много пересечений на основе общего опыта. Вместо монокультуры, навязанной стандартом, вы также увидите много разнообразия, которое может помочь вам только увидеть множество действенных способов решения проблем.
И когда кто-то говорит вам, чтобы вы не делали что-либо, вызванное правилом в «стандарте», но не имеет опыта или разумного подтверждения своих требований, игнорируйте их. Здесь стандарт никому не помог и не сделал никого лучше разработчиком.