Существуют ли объективные причины использования пробелов вместо вкладок для отступов в соответствии с стандартом PSR-2, может ли кто-то предоставить:
на котором основан стандарт PSR-2?
Авторы стандарта PSR-2 имели в виду нечто большее, чем «внешний вид», нечто большее, чем просто мнение, и многие люди не понимают, почему пространства лучше во время совместной работы.
Согласно ответам Фарсидеса: хранилища могут быть точным примером того, почему пробелы находятся в PSR-2, как инструмент отступов. PSR-2 стандартно разработан для содействия совместной работе. Одиночные случайные пробелы в начале строки – при использовании вкладок – могут не отображаться в среде IDE и могут пробираться в репозиторий. Если несколько человек работают над одним и тем же файлом, очень возможно создать ненужные конфликты. Использование пробелов вместо вкладок позволяет легко поймать такое случайное пространство на глазном яблоке, и это, вероятно, причина, почему их использование становится стандартом.
Основываясь на моем опыте, мы столкнулись с нашими проектами: GIT и другие системы контроля версий обрабатывают невидимые spaces
+ TABS
разному, и это приводит к изменениям в линиях, которые на самом деле не были затронуты. Легко не заметить, когда случайно добавляется одно space
+ TAB
= отступ, одинаковый в IDE, но GIT будет иметь значение при слиянии. Это наносит ущерб вашей способности эффективно сравнивать ревизии в управлении версиями , что действительно страшно. Это никогда не произойдет, когда у вас будут только spaces
.
Ширина закладки (в пробелах) зависит от вашей среды (текстовый редактор, ОС, предпочтения и т. Д.), Но ширина пространства везде одинакова . IDE достаточно умны, чтобы обрабатывать белые пространства до вашего личного вкуса, но результат, созданный для совместной работы, должен соответствовать стандартам.
Использование пробелов вместо вкладок связано с более высокой зарплатой на 8,6%. Использование пробелов вместо вкладок связано с высокой разницей в зарплате в качестве дополнительного 2,4-летнего опыта. (источник: Stack Overflow 2017 Developer Survey ).
Если каждый сотрудник вашего проекта будет придерживаться одинаковых стандартов кодирования – это будет хорошо в долгосрочной перспективе, сотрудничество будет более эффективным и профессиональным, то же самое, если вы реорганизуете или разрабатываете. Исследования, касающиеся этого:
Например, Бен Шнейдерман подтвердил это в Экспериментальных экспериментах в поведении программистов :
когда программные заявления были организованы в разумном порядке , эксперты смогли запомнить их лучше, чем новичков. Когда заявления были перетасованы, превосходство экспертов было сокращено.
Старое исследование 1984 года Соловей и Эрлих цитируется в « Code Complete» и поддерживает исследования «Элементы стиля программирования» :
Наши эмпирические результаты вносят зубы в эти правила: не просто вопрос эстетики, что программы должны быть написаны в определенном стиле. Скорее, существует психологическая основа для написания программ обычным образом: у программистов есть большие надежды, что другие программисты будут следовать этим правилам дискурса. Если правила нарушены , то полезность, обеспечиваемая ожиданиями, которые программисты создали с течением времени, фактически аннулируется .