Intereting Posts
Как добавить поле в профиль «Пользователи»? Например, страна, возраст и т. Д. Исправлен номер версии для кэшированных таблиц стилей и javascript Короткокоды неверно преобразуются Если тип Post использует боковую панель («дерево») Как выполнить запрос с помощью get_posts () для сообщений с любым тегом Добавьте drop down в виджет, если он находится в определенной области Лучший способ сбросить некоторые параметры параметров администратора по умолчанию? Добавление другой кнопки «Добавить сообщение» для администратора Тема не поддерживает короткие коды Отображать несколько пользовательских типов сообщений и сортировать их по хронологии одним из своих полей Невозможно дать правильный путь в wordpress Запуск функции изменения статуса комментария Тег the_category () не стилирует HTML или CSS Как создать другую версию моего сайта на основе той же базы данных Как сделать большие изменения в реальном времени?

Почему WordPress-код настолько «счастлив с космосом»?

Ядро WP, многие плагины WP и стандарты кодирования WP сами используют очень «щедрое приложение» для символа Space (не для отступов, а «внутри» парсеров и скобок). Это кажется уникальным для WordPress – этот стиль / философия, похоже, не присутствует в других подобных проектах, PHP или иначе.

Для получения дополнительной информации об этом подходе см. Https://make.wordpress.org/core/handbook/coding-standards/php/#space-usage.

Пример: foreach ( (array) $foo as $bar ) { ...

Я имею в виду пространство после foreach, после первого ( и до финала ) (и других подобных пространств, показанных в «Использование пространства» по ссылке выше).

Этот стиль мне кажется ненужным – он требует большего набора текста и (мнение) делает визуализацию кода визуально более сложным. (/ Мнение)

Мое желание не обсуждать, является ли этот стиль хорошей идеей. Скорее, я просто хочу понять мотивы, почему это рекомендуемый стиль. Любопытно, что даже комментаторы по стандартам кодирования WP:

введите описание изображения здесь

Ответы на вопрос М. К. Сафи суть:

  1. Для удобства чтения
  2. Статус-кво (он же «Это так, как есть»)

Мое рассуждение заключается в том, что я лично не вижу большой ценности в принятии стандартов кодирования WP (в отношении «использования пространства») в наших проектах только для внутреннего использования. Тем не менее, мне любопытно, если я что-то упустил.

Существуют ли какие-либо причины, кроме двух перечисленных выше, якобы действительных или нет, для последующего стиля WordPress «Использование пространства»?

Solutions Collecting From Web of "Почему WordPress-код настолько «счастлив с космосом»?"

Resoning

Что касается «пробела» (независимо от вкладок или пробелов): это просто личное предпочтение, связанное с проектом.

Стандарты кодирования WP imo являются беспорядочными и могут быть проигнорированы – пока вы не вносите вклад в ядро, которое

  • другая история и
  • руководство по стилю также игнорируется.

«[…] это не ретроактивно применяется навалом по сравнению с старым кодом, так как история svn / git очень сложна в использовании. Официальная политика заключается в том, что новый код должен следовать руководству по стилю, но если вам удастся правильно форматировать смежный код то пусть будет так, но патчи, которые только форматируют код, или фиксируют, что только формат кода запрещен ».

– @TomJNowell в комментариях

альтернативы

Вам лучше придерживаться стандартов PSR (а именно: 2) или таких вещей, как стандарты Symfony (или только ваши собственные).

Повышение производительности и инструменты

Нет никакой выгоды, которую вы получаете от наличия стандарта кодирования (кроме того, что вы можете делиться, и меньшинства, которое его ненавидит, в то время как остальные его диктуют) или от наличия более или менее вкладок или пробелов. Если вас беспокоит ненужное использование дискового пространства или, возможно, более медленные программы, вы можете сжать свой код (см. Проект GitPHPHooks ) при фиксации. Преимущество, которое вы получите, составит около 5% от исходного файлового пространства, что в значительной степени соответствует тому, что дает вам сжатие / минимизация синтаксиса HTML. Для этого доступны инструменты Node.js minify, доступные через npm.

То, что лично я считаю полезным, – это PHP Linter и детектор Messenger _PHP. Я включил оба в библиотеку GitPHPHooks, поэтому мне не нужно думать или заботиться о ее запуске.

Пробелы после точек являются нормальными, например $baz . '-5' $baz . '-5' , этот стиль используется во многих стандартах кодирования для операторов ( y + z ).

Это делается для улучшения удобочитаемости, например, один из них более читабельен, чем другой.

 $cow.$dog.$cat.$table.$chocolate.$puddle.$iterator.$stuctureone.$stucturetwo $cow . $dog . $cat . $table . $chocolate . $puddle . $iterator . $stuctureone . $stucturetwo 

Это становится еще более очевидным, когда он окружен другим «кодом».

Что касается пробелов вокруг скобок ( 1, 2, 3 ) я понятия не имею, я полагаю, что аргумент также читается.

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

Большинство PHP-стандартов на самом деле делают обратное требование .. круглые скобки должны обнимать их содержимое. Фактически большинство стандартов кодирования для других языков пишут это как: (1, 2, 3) так что это немного загадка, почему РГ делает это таким образом.

Ниже приведен пример сравнения с функцией WordPress.

введите описание изображения здесь

Более полная версия для сравнения: http://i.imgur.com/nTEbV7v.jpg

Я предпочитаю тот, который стоит справа, особенно если смотреть на полный экран кода, но это личное предпочтение.