Один из величайших «холиваров» среди программистов: использовать ли кнопку tab или нажимать 4 раза на пробел при расставлении отступов в коде. Gizmodo, ссылаясь на блог программиста из Google, сообщает о попытке найти победителя в этом споре. Разработчик Фелипе Хоффа проанализировал около миллиарда файлов на 14-ти языках программирования и пришёл к выводу, что «space people» лидируют со значительным отрывом.
Рано или поздно дебаты сводятся к тому, как исходный код отображается в различных редакторах. Проблемы начинаются тогда, когда в одном файле используются разные методы идентации. Особенно «опасно» это в случае работы нескольких человек над одним проектом. Неудивительно, что программисты в итоге разделяют друг друга на «tab people» и «space people». История нашла своё отражение даже в одном из эпизодов сериала «Кремниевая долина»
Разработчик из Google Фелипе Хоффа решил найти победителя в этом извечном споре и проанализировал около миллиарда исходных файлов, написанных на 14-ти языках программирования. Результаты исследования программист опубликовал в своём блоге на Medium.
Специальный скрипт изучил файлы с GitHub, размещённые на BigQuery. Отдельно выполнялась проверка на дублирование, а слишком маленькие файлы, в которых было менее 10 строк кода, не принимались в расчёт. Каждый файл давал один голос в пользу того или иного метода. В случае, если в файле использвались и пробелы, и tab, голос получал метод, который встречался чаще.
Наконец, 400 000 репозиториев были отсортированы по количеству звёзд, полученных на GitHub в период с января по май 2016 года.
И вот каким был результат:
Со значительным перевесом победу одержали «space people». В каждом крупном языке программирования, кроме C, в наиболее популярных файлах на GitHub использовались пробелы. При этом в программах на Go пробелами пользуется абсолютное меньшинство разработчиков.
Эти данные, пожалуй, наиболее точные из всех возможных аргументов, которые приводятся в спорах о tab и space, и никаких уточнений в ближайшее время ожидать не приходится.
К сожалению, программист Google не сообщил, к какому «лагерю» принадлежит он сам.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.