Почему там так много кода с плохим отступом? - PullRequest
4 голосов
/ 18 марта 2010

Чем больше я просматриваю код для проектов с открытым исходным кодом на языках, не являющихся Python, тем больше понимаю, что многие программисты не верят в правильные отступы. (Я не буду упоминать какие-либо проекты специально, чтобы никто не воспринимал этот вопрос слишком лично.) Обычно код имеет отступ, но в некоторой степени отличается от стандартного стиля, что сводит меня с ума, особенно в старом / грубом коде. Я заметил, что когда я пишу на C-подобных языках, я склонен правильно делать отступы так же религиозно, как когда я пишу на Python, за исключением кода отладки, который я действительно хочу высовывать, как больной большой палец. Учитывая, насколько легко с помощью современной среды IDE исправить некорректные отступы, каковы некоторые причины, по которым религиозные отступы не синхронизируются с фигурными скобками?

Ответы [ 6 ]

10 голосов
/ 18 марта 2010

Большинство случаев этой проблемы, которые появляются в исходной базе, над которой я работаю большую часть времени, происходят из-за смешанных вкладок и пробелов. В редакторе одного человека с остановками табуляции, установленными каждые 4 символа, это выглядит хорошо, но в системе другого человека с 2 или 8 пробелами это выглядит ужасно Вы можете изменить эти числа так, как вы хотите; некоторые файлы перепутаны независимо. Изменение расстояния является гигантской болью для слияния по дороге, поэтому оно никогда не будет исправлено.

1 голос
/ 19 марта 2010

Широко признано, что стиль кодирования - это вопрос «личного выбора», и что один стиль так же хорош, как и другой. Я не думаю, что это обязательно правда. В статье, недавно написанной для accu (доступна только для пользователей в Интернете), предполагается, что к макету кода можно применять различные методы скоростного чтения, чтобы его было легче читать и понимать. Несомненно, существует масса данных о том, как люди воспринимают информацию, но эта статья была первой, которую я увидел, применив ее к макету кода.

Вполне может быть значительная информация, демонстрирующая, что определенные макеты кода более удобны для чтения и понимания людьми, но ни один из (многих) аргументов, которые я видел, не относится к подобной информации и обычно включает защиту стилей, которые люди имеют привыкнуть.

1 голос
/ 18 марта 2010

Почему люди не одеваются правильно? Почему люди не используют правильное количество чеснока, когда готовят? Почему все слушают странную музыку? Ваш вопрос предполагает авторитет, определяющий правильность, которую я еще не видел.

Кроме того, мне нравится код, который последовательно отформатирован по всему файлу. Если вы используете 1 табуляцию или 3 пробела, мне все равно, если вы используете ее последовательно. То же самое с фигурными скобками в одной строке или в отдельной строке, все равно, просто будьте последовательны.

Я лично использую VS, который из коробки автоматически форматирует все для меня, и я полностью доволен набором правил по умолчанию.

1 голос
/ 18 марта 2010

Два очка в дополнение к Наблюдение Карла :

  • «Правильный» отступ - это вопрос соглашения и языковой структуры.
  • Проверка в системе контроля версий, состоящая только в изменении отступа группы строк, вероятно, будет очень плохой без предварительной консультации.
1 голос
/ 18 марта 2010

легко иметь «плохо с отступом» html, если вы кодируете в php, я бы сказал, что для php важнее быть аккуратно с отступом, чем html, который он выплевывает ...

0 голосов
/ 18 марта 2010

Может быть, просто идея этих программистов о "правильном отступе" отличается от вашей? Может быть, ВАШ код выглядит как ужасный беспорядок для них? Серьезно, у каждого программиста, похоже, есть своя идея «правильного» отступа и любопытная склонность избивать стили отступов других людей как «неправильные». Отступы были важной темой пламенных войн с начала Интернета (и ранее). Не нужно добавлять больше топлива в пламя.

То, что, как говорится, какой стиль вы используете, относительно неважно. Гораздо важнее использовать последовательно один и тот же стиль отступа во всем проекте. Наиболее распространенный беспорядок начинается, когда каждый программист в команде пытается использовать и навязывать стиль его остальным членам команды. Результатом является ужасный беспорядок смешанных и неподходящих стилей отступов, который сводит людей с ума. Вот почему важно установить стандарты кодирования для каждого проекта, в котором задействовано более нескольких программистов. Я повторяю - какие стандарты кодирования выбраны неважно, согласованность имеет значение.

...