Домашняя » WordPress » Стандарты кодирования для WordPress [Руководство]

    Стандарты кодирования для WordPress [Руководство]

    Причина, по которой у нас вообще есть стандарты кодирования (не только для WordPress), заключается в создать привычную среду для программистов работает над проектом. В частности, WordPress включает в себя широкий спектр продуктов. Начиная с самого ядра и заканчивая темами и плагинами, есть на что посмотреть - и многое нужно перепутать.

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

    Необходимость сплоченности в WordPress усиливается состоянием, в котором находится кодовая база. WordPress не придерживается строгого объектно-ориентированного подхода и не использует шаблон MVC. Проекты, которые следуют всем без исключения рекомендациям OOP и MVC (например, Laravel), имеют последовательность и лучшие практики “запеченный в” из-за их структуры.

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

    Следуя стандартам кодирования WordPress, вы можете немного узнать об идеях кодирования в WordPress, создавать больше WordPress-совместимых продуктов. покажите сообществу, что вам небезразлично, и вы спорите с кодом высокого качества.

    Больше на Hongkiat.com:

    • 10 худших кошмаров для веб-разработчиков
    • 5 причин, почему CSS может быть самым сложным языком из всех
    • 30 распространенных реакций программистов, когда дела идут плохо

    Некоторые заметки о стандартах

    Стандарты не определяют правильное и неправильное. Вы можете не согласиться с правилом, например, всегда следует использовать фигурные скобки, даже если они не нужны. Цель стандартов кодирования WordPress - не решить, правы вы или нет, а решить, как это сделать в WordPress..

    Стандарты не подлежат обсуждению. Использование стандартов - это не то место, где можно выступить против стиля отступов, который вам не нравится. Если что-то находится в стандартах кодирования, делайте так. Разработчики WordPress будут любить вас за это! Тем не менее, если вы не согласны с чем-то, повышайте свой голос и дайте людям знать. Всегда можно сделать что-то лучше, но вы должны изменить свой стиль кодирования, только если стандарты позволяют это.

    Последовательность в анальной сохранности. Если вы находитесь в последних 10% своего проекта и только что обнаружили, что используете неправильное соглашение об именах для классов, не переключайтесь на полпути. По моему личному мнению, я бы предпочел прочитать что-то последовательно неправильное, чем то, что иногда правильно, а иногда нет. Вы всегда можете написать скрипт, чтобы изменить все за один раз, или прочитать свой код в конце.

    Следовать стандартам сложно! Поместить фигурную скобку в ту же строку, что и функция вместо строки ниже, довольно легко, даже если вы привыкли нажимать ввод ранее. Однако, когда вам нужно подумать о 100 маленьких правилах, весь процесс становится немного подверженным ошибкам. Несмотря на мою жесткую позицию в отношении следования стандартам, я, как и все остальные, виноват в том, что допустил ошибки. В конце концов, неправильный отступ не является безвозвратным грехом. Старайтесь изо всех сил следовать всем правилам, вы все узнаете вовремя.

    Стандарты кодирования WordPress

    В настоящее время WordPress имеет четыре руководства, по одному для каждого основного используемого языка: PHP, HTML, Javascript и CSS. Они составляют часть более обширной совокупности знаний, основного справочника участника. Прохождение всего заняло бы некоторое время, поэтому я выделил некоторые фрагменты из четырех языков, которые я часто вижу, как люди ошибаются.

    PHP

    PHP является основным языком WordPress и является довольно свободно типизированным языком, который делает его зрелым для регулирования.

    Brace Styles

    Начальные скобки всегда должны быть в конце строк. Связанные операторы должны быть помещены в ту же строку, что и предыдущая закрывающая скобка. Это лучше всего продемонстрировать на примере кода:

    if (условие) // сделать что-то elseif (условие) // сделать что-то else // сделать что-то

    Щедрое использование космоса

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

    Проще сказать, где не нужно добавлять пробелы! Единственный раз, когда вы не должны добавлять пробелы, это когда типажей или же массивы ссылок.

    Довольно запутанным исключением из этого правила являются массивы, в которых ключ массива является переменной, в этом случае используйте пробел. Этот пример должен прояснить это:

    function my_function ($ complete_array = null, $ key_1 = 4, $ key_2 = 'bar') if (null == $ complete_array) $ final_array = $ complete_array;  else $ key_1 = (целое число) $ key_1; $ final_array [0] = 'this'; $ final_array [$ key_1] = 'is'; $ final_array [$ key_2] = 'an'; $ final_array ['last'] = 'example';  return $ final_array; 

    Соглашения об именах

    К этому может быть трудно привыкнуть, особенно если вы приехали из разных сред. В двух словах:

    • Имена переменных должно быть все строчные, слова, разделенные подчеркиванием
    • Имена классов следует использовать прописные слова разделены подчеркиванием. Сокращения должно быть все верхний регистр
    • Константы должно быть все в верхнем регистре, аккорд подчеркивания
    • Имена файлов должно быть все строчные, разделены тире

    Йода Условия

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

    if ('Daniel' === $ name) echo 'Напишите статью, которую вы будете'; 

    HTML

    У HTML не так много правил, связанных с ним, я мог бы придумать довольно много, чтобы сделать вещи более модульными. При написании HTML нужно знать только пять правил:

    1. Ваш код должен быть проверен на соответствие валидатору W3C.
    2. Самозакрывающиеся HTML-теги должны иметь ровно один пробел перед косой чертой (это я лично ненавижу, но это спецификация W3C, а не просто любимая мозоль WordPress)
    3. Все атрибуты и теги должны быть строчными. Единственное исключение - когда значения атрибутов предназначены для потребления человеком, и в этом случае их следует вводить естественным образом..
    4. Все атрибуты должны иметь значение и должны быть заключены в кавычки не является правильным)
    5. Отступы должны быть достигнуты с помощью вкладок и должны следовать логической структуре.

    CSS

    CSS - еще один свободно типизированный язык, поэтому здесь также предстоит проделать большую работу. Несмотря на это, стандарты довольно просты для программистов.

    Селекторы

    Селекторы должны быть настолько квалифицированными, насколько это необходимо, быть удобочитаемыми, иметь строчные буквы со словами, разделенными штрихами, а селекторы атрибутов должны использовать двойные кавычки. Вот краткий пример:

    input [type = "text"], input [type = "password"], .name-field background: # f1f1f1; 

    Заказ недвижимости

    Стандарты признают необходимость некоторого личного пространства здесь, поскольку они не предписывают определенный порядок для правил CSS. То, что они делать говорят, что вы должны следовать семантической структуре, которая имеет смысл. Сгруппируйте свойства по их отношениям или сгруппируйте их по алфавиту, просто не выписывайте их случайно.

    Основной причиной случайности является “о, мне также нужно добавить поле” а затем приступить к добавлению его в нижней части. Возьмите лишние 0,3 секунды и добавьте правило в логическое место.

    • дисплей
    • позиционирование
    • Модель коробки
    • Цвета и типография
    • Другой
    .profile-modal display: block; позиция: абсолютная; Слева направо: 100px; топ: 90px; фон: # ff9900; цвет: #fff; 

    Форматирование значения

    Это одно место, где я особенно ненавижу видеть несоответствия. Если вы не следуете рекомендациям, это все же лучше, чем иногда видеть пробел перед значением; иногда используя стенографию, иногда нет; иногда используя единицы на 0 значениях, иногда нет, и т. д..

    Форматирование значений довольно сложное, но это приходит естественно с некоторой практикой. Посмотрите точное руководство в Кодексе для форматирования ваших значений.

    Javascript

    По моему опыту, Javascript наиболее подвержен повсеместному распространению. В то время как многие разработчики знают значительное количество Javascript, он изучался постепенно, как запоминание HTML, CSS и PHP. Когда вы только начинаете работать с новым языком, вы делаете гораздо больше ошибок, и если эти ошибки не вызывают фатальных ошибок, они могут укорениться в вас.

    Во многих случаях стандарты относятся к пределу линии или состоянию “если строка не слишком длинная”. Это относится к Руководству по стилю jQuery, которое налагает Ограничение в 100 символов в строках. Руководство по WordPress основано на руководстве по jQuery, поэтому неплохо было бы также прочитать его..

    Точка с запятой

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

    Отступ

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

    Ломать линии

    При разрыве длинных строк всегда разрывайте строку после оператора, не оставляйте переменную. С первого взгляда становится очевидным, что линия разорвана и вы не просто забыли точку с запятой.

    Также, если условие длинное, разбейте его на несколько строк и добавьте перед ним дополнительную вкладку. Это выглядит очень странно для моих глаз, но разделение, которое оно добавляет между состоянием и телом, очень заметно.

    if (firstCondition () && secondCondition () && thirdCondition ()) var html = 'Эта строка состоит из слов' + n + ', поэтому ее следует разбивать после' + 'оператора'; 

    jQuery Iteration

    По стандартам jQuery итерация (JQuery.each ()) должен использоваться только на объектах jQuery. Вы должны использовать основные за, для / в, в то время как циклы в Javascript для итерации по другим коллекциям.

    Заключение

    Есть много, что нужно отметить и отследить, и никто не сможет применить все это за один раз. Вы должны максимально приблизить свой код к стандартам и точно следовать им..

    по моему мнению последовательность является наиболее важным правилом. Лучше последовательно что-то делать неправильно, чем переключаться на полпути. Это особенно верно в отношении методов форматирования, поскольку они не влияют на функциональность вашего кода и - по большей части - может быть легко изменена позже.

    Вы ненавидите элемент стандартов кодирования, как вы думаете, что-то должно быть добавлено? Дайте нам знать об этом в комментариях!