Головна » WordPress » Стандарти кодування для WordPress [Керівництво]

    Стандарти кодування для WordPress [Керівництво]

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

    Якщо кожен формат форматується таким же чином, використовує коментарі, той самий стиль документації тощо, робота разом стає набагато простіше, а крива навчання приєднання до нового проекту не буде такою.

    Потреба в згуртованості в WordPress збільшується станом, в якому знаходиться кодова база. WordPress не відповідає строгому об'єктно-орієнтованому підходу і не використовує шаблон MVC. Проекти, які слідують вимогам ООП та MVC без винятку (наприклад, Laravel), мають послідовність та найкращу практику “запечений” через їхню структуру.

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

    Дотримуючись стандартів кодування WordPress, ви зможете дізнатися трохи про кодування з WordPress, створити більше продуктів, сумісних з WordPress. покажіть спільноті, що вас хвилює, і ви копіюєте високий код якості.

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

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

    Деякі примітки щодо стандартів

    Стандарти не визначають правильного і неправильного. Ви можете не погодитися з правилом, наприклад, дужки повинні завжди використовуватися, навіть якщо вони не потрібні. Метою стандартів кодування WordPress є не вирішувати, чи правильно ви або неправильно, це вирішити, як це зробити в WordPress.

    Стандарти не обговорюються. Використання стандартів не є місцем для того, щоб виступити проти стилю відступів, який вам не подобається. Якщо щось є в стандартах кодування, зробіть це таким чином. Розробники WordPress будуть любити вас за це! Тим не менш, якщо ви не згодні з чимось там, підніміть свій голос і дайте людям знати. Завжди можна робити краще, але потрібно змінювати стиль кодування, лише якщо стандарти дозволяють це.

    Консистенція по відношенню до анальної ретенційності. Якщо ви перебуваєте в останніх 10% вашого проекту, і ви тільки що виявили, що ви використовуєте неправильні правила іменування для класів, не перемикайтеся на півдорозі. На мою особисту думку, я хотів би прочитати щось послідовно неправильне, ніж те, що іноді правильно, а іноді - ні. Ви завжди можете написати сценарій, щоб змінити речі за один раз, або прочитати ваш код наприкінці.

    Дотримуватися стандартів важко! Розміщення фігурної дужки на тій самій лінії, що й функція, замість рядка нижче, досить проста, навіть якщо ви раніше звикли натискати клавішу Enter. Однак, коли потрібно подумати про 100 маленьких правил, весь процес стає трохи схильним до помилок. Незважаючи на мою жорстку позицію щодо наступних стандартів, я так само винна, як і будь-яка інша особа, що робить помилки. Наприкінці дня неправильне вдавлення не є незворотним гріхом. Намагайтеся максимально дотримуватися всіх правил, ви дізнаєтеся все вчасно.

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

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

    PHP

    PHP є основною мовою WordPress і є досить вільно типізованою мовою, що робить її дозрілою для регулювання.

    Стилі дужки

    Початкові фігурні дужки завжди слід розміщувати в кінці рядків. Пов'язані оператори повинні розміщуватися на тій же лінії, що й попередня фігурна дужка. Найкраще це демонструє приклад коду:

    if (condition) // робити щось 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] = 'це'; $ final_array [$ key_1] = 'є'; $ final_array [$ key_2] = 'an'; $ final_array ['last'] = 'приклад';  повернути $ final_array; 

    Умовні позначення

    Це може бути важко звикнути, особливо якщо ви приїхали з різних середовищ. Коротко:

    • Імена змінних має бути все нижній регістр, слова, розділені символами підкреслення
    • Імена класів слід використовувати великі слова розділені символами підкреслення. Скорочення має бути все великі
    • Константи має бути всі великі літери, копії підкреслення
    • Імена файлів має бути все нижній регістр, виділені з тире

    Умови Йоди

    Написання умов навпаки, ніж ви звикли, запобігає синтаксичному розбору помилок. Це виглядає трохи дивно, але це кращий код.

    if ('Daniel' === $ name) echo 'Напишіть статтю, яка вам потрібна'; 

    HTML

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

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

    CSS

    CSS - це ще одна вільно типізована мова, тому тут також багато роботи. Незважаючи на це, стандарти йдуть досить легко на кодерах.

    Селектори

    Селектори повинні бути настільки кваліфікованими, наскільки це необхідно, бути людськими читати, бути в нижньому регістрі зі словами, розділеними тире, а селектори атрибутів повинні використовувати подвійні лапки. Ось короткий приклад:

    input [type = "text"], введення [type = "password"], .name-field background: # f1f1f1; 

    Порядок власності

    У стандартах визнається потреба в певному особистому просторі, оскільки вони не призначають конкретний порядок для правил CSS. Що вони робити Можна сказати, що ви повинні слідувати семантичній структурі має сенс. Групуйте властивості за їх зв'язками або групуйте їх за алфавітом, просто не виписуйте їх випадковим чином.

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

    • Дисплей
    • Позиціонування
    • Модель коробки
    • Кольори та типографія
    • Інший
    .профіль-модальний дисплей: блок; позиція: абсолютна; ліворуч: 100px; зверху: 90px; фон: # ff9900; колір: #fff; 

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

    Це одне місце, де я особливо ненавиджу бачити суперечності. Якщо ви не дотримуєтеся вказівок, це ще краще, ніж іноді бачити простір перед значенням; іноді використовують скорочення, інколи не; іноді використовують одиниці на 0 значень, іноді не і т.д..

    Форматування вартості досить складне, але це відбувається природно з деякою практикою. Погляньте на точне керівництво у Codex для форматування ваших значень.

    Javascript

    З мого досвіду Javascript найбільш схильний до того, щоб проходити повсюди. Хоча багато розробників знають значну кількість Javascript, його вивчали поступово, як зауваження до HTML, CSS і PHP. Коли ви тільки починаєте з нової мови, ви зробите набагато більше помилок, і якщо ці помилки не призведуть до фатальних помилок, вони можуть стати вкоріненими у вас.

    У багатьох випадках стандарти відносяться до лінійки або стану “якщо лінія не надто довга”. Це відноситься до Керівництва зі стилів jQuery, яке накладає a Ліміт на 100 символів. Довідник WordPress базується на керівництві jQuery, тому добре, якщо ви також прочитаєте його.

    Точка з комою

    Це найпростіше правило, але воно часто пропускається. Ніколи, ніколи не пропустіть крапку з комою тільки тому, що ваш код працюватиме без нього. Це просто недбало.

    Відступ

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

    Розривні лінії

    При розриві довгих рядків завжди розривайте лінію після оператора, не залишайте змінну, що висить. Це робить на перший погляд очевидним, що лінія розбита, і ви не просто забули крапку з комою.

    Крім того, якщо умова довга, розбийте його на кілька рядків і додайте додаткову вкладку перед нею. Це виглядає дуже дивно, щоб мої очі, але розділення він додає між умовою і тілом дуже видно.

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

    Ітерація jQuery

    Відповідно до стандартів jQuery ітерації (jQuery.each ()) слід використовувати лише на об'єктах jQuery. Ви повинні використовувати основні для, для / in, час цикли в Javascript для перебору над іншими колекціями.

    Висновок

    Існує багато чого відзначити і відслідковувати, і немає ніякого способу хтось може застосувати все це за один раз. Ви повинні взяти свій код якомога ближче до стандартів і працювати на їх точному дотриманні.

    На мою думку послідовність є найважливішим правилом. Краще послідовно робити щось неправильно, ніж перемикатися на півдорозі. Особливо це стосується методів форматування, оскільки вони не впливають на функціональність вашого коду та - здебільшого - можна легко змінити партію пізніше.

    Ви ненавидите елемент стандартів кодування, чи вважаєте ви, що потрібно додати щось? Дайте нам знати в коментарях!