Intereting Posts
Создать пользователя с использованием API JSON Использование nonce при загрузке сообщений с помощью AJAX Почему не будет разбиваться на страницы? переименование изображения автоматически везде (сообщения и страницы) Добавление полей в менеджер категорий. Существует ли способ получить ссылку на экран редактирования категории? получать зарегистрированные обменные вещества по типу сообщения или по почте Разрешить создание только новых подстраниц Предыдущая и следующая на странице индекса Удаление поля «Веб-сайт» из контактной информации Как я могу получить отрывок авторского описания? Невозможно отменить регистрацию скрипта с помощью wp_deregister_script Как заставить внутренние привязные ссылки работать с постоянными ссылками WordPress? Более быстрый способ wp_insert_post & add_post_meta навалом Как предотвратить первое сообщение и первый комментарий к WP MU? Пользовательская тема с пользовательскими циклами

Почему 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

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