Существуют стандарты кодирования, чтобы сделать команды более продуктивными. Теоретически, они облегчают понимание, изменение и тестирование кода. На практике они могут создавать опасное количество мета-работы; Команды снова и снова переписывают существующий код в поисках наиболее правильного и элегантного решения. К сожалению, проблема мета-работы кажется хуже в командах, где все заняты, увлечены и одержимы правильным поступком.
Как консультант, переходящий от проекта к проекту, я обнаружил, что отличная дисциплина с жестким стандартом кодирования способствует гораздо меньшему успеху проекта, чем отличные разработчики, которые заинтересованы в результатах. Несовместимые стили кодирования - небольшая неприятность для удивительных разработчиков. Они продуктивны с или без согласованности. Конечно, если они столкнутся с несовместимым кодом, они спросят о текущемстандарт и придерживайся его. Однако они не будут настаивать на обновлении каждой строки кода в проекте до текущего стандарта. Они не настаивают, потому что они видели, как лучшие практики приходят и уходят. Правильный способ сделать что-то сегодня - это не то же самое, что правильный способ сделать что-то завтра. Если бы это было так, ваши стандарты кодирования не развивались бы. Таким образом, если правильный способ сделать что-то меняется со временем, возможно, наше определение «правильного» нарушено.
Это не значит, что стандарты не имеют значения. Просто помните, что целью стандартов является производительность. Если вы не можете гарантировать, что переписывание на новый стандарт окупит себя в долгосрочной перспективе, не тратьте на это время. Гораздо проще обосновать новый стандарт в новом или переработанном коде. Элегантность это круто, но это не то же самое, что результаты.