Есть ли такая вещь, как слишком большая однородность? Там, где я работаю, у нас, конечно, есть стандарты, в том числе соглашения об именах, архитектуры, фреймворки для использования и т. Д. Однако в последнее время было много критических замечаний, которые я бы назвал более стильными.
Например, запись if
операторов в несколько строк против одной строки с использованием ??
оператора c # null-coalescing вместо, скажем == null
, количества интервалов для отступов и т. Д.
Мне кажется, это начинает все больше увлекаться личным выбором стиля и не должно быть единообразным в команде или компании. То, что думает один человек, читается более ясно, другой не может. Есть ли какая-то ценность в этой «дополнительной» однородности?
Ответы:
Однородность не проблема (это хорошо), но жесткость или негибкость могут быть. Если в стремлении к единообразию вы становитесь догматичным, тогда вред, который вы наносите команде, может быть больше, чем польза, которая может быть вызвана (возможно) результатом однородности.
Лучше всего просто установить базовый стиль для самых важных вещей (стандарты именования и заглавных букв, отступы, новые строки и размещение скобок и т. Д.), Установить рекомендации для менее важных вещей (если формат выписки, другие пробелы в скобках и т. Д.) , а потом не переживай за остальных.
источник
Когда потенциально многие люди работают над проектом в течение многих лет его жизни, иногда возникает путаница, когда вам приходится прыгать по стилям. Представьте себе, что вы читаете книгу, в которой разные главы написаны разными авторами, которые лишь отчасти поддерживают стиль письма. Это возможно, но это раздражает.
В наши дни большинство IDE могут применять стили, поэтому при необходимости вы можете распространять (как часть исходного кода проекта) файл настроек IDE, в котором указан выбранный стиль кодирования, и пусть все установят его и используют его для форматирования кода, который они пишут. , Могу поспорить, что есть даже способы переформатировать / стилизовать код при регистрации (хотя мне еще не приходилось это исследовать).
источник
Один случай чрезмерной однородности, который я видел, - это наличие единого стандарта, который применяется ко всем языкам программирования независимо от их соответствия:
goto
даже в таких языках , как C безtry
...catch
.InitialCaps
имен (как в Microsoft MFC и C #) в JavaScript, где находится стандартная библиотекаinitialLowerCase
.источник
Я не думаю, что есть такая вещь, как слишком много единообразия. Тем не менее, я часто нахожу это слишком СПЕЦИФИЧНОСТЬ в стандартах кодирования. Преимущества того, что все ставят открывающую скобку на отдельной строке, в лучшем случае сомнительны и не перевешивают время, затрачиваемое на споры или исправление косметических проблем в коде.
источник
У меня было бы 2 аргумента для единообразия:
Содействие коллективной собственности. То, что кто-то может пойти и отредактировать чужой код, не опасаясь, что чье-то «дитя» может пострадать от этого изменения. Этакий менталитет «Мы все вместе».
Легкость добавления к нему. Если что-то уже было сделано где-то еще, то это может быть принято и возможно использовано повторно. Некоторые условные обозначения могут иногда облегчать чтение или изменение, так что это еще одно преимущество.
источник