PHP, HTML, Javascript та написання належних практик


10

Я зрозумів, що мені потрібно записати специфікацію конвенції про кодування HTML, JavaScript та PHP для мене та моєї команди.

У веб-розробці, як і в C ++, я, безумовно, шанувальник відступів та коментарів.

Тим не менш, часто у своїй роботі я стикаюся з HTML + JavaScript + PHP-кодом, який раптом викликає головний біль.

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

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

Відповіді:


19

Я дотримуюся деяких загальних правил:

Загальні

  • Відступи - 4 пробіли.
  • Відступ нових рівнів
  • Коментарі - <~ 80 символів від рівня відступу. Якщо я перебуваю на двох рівнях (8 пробілів), це означає, що зупинка курсору складе близько 88 символів.
  • Використовуйте багаторядкові коментарі. Я віддаю перевагу вигляду, проте це суб'єктивний момент.
  • Прокоментуйте зараз, а потім пізніше, коли ви поняття не маєте, що відбувається.
  • Підтяжки в стилі Allman . Він чистіший і легше читається. Суб’єктивний .

JavaScript

  • Використовуйте бібліотеку. jQuery, зокрема, дуже хороший. Це усуває всі головні болі в браузері.
  • Зрозумійте, що ідентифікатори призначені для конкретних елементів, класи - для стилів. Ідентифікатори не можна використовувати більше одного разу на сторінці, і до них будуть прикріплені певні гачки. Використовуйте заняття для таких речей, як навігація.
  • Вихід джерела в методи. Ввести весь код у bindвиклик заманливо , однак введення його у власну функцію підвищить гнучкість вашого коду.
  • Використовуйте функції замість evals. Це означає setTimeout(function(){ /* Do something */ }, 1000);замість цьогоsetTimeout('doSomething', 1000);
  • Використовуйте локальні змінні за допомогою var.

HTML

  • Семантична розмітка. Використовуйте відповідні теги. Не кладіть <br />туди, щоб додавати простір, коригувати поля та правила CSS.
  • Усі теги мають малі літери .
  • Усі теги повинні закінчуватися тегом, що закривається, або бути самостійним закриттям .
  • Скористайтеся класами для подібного макета. Є кілька визначених класів , як hide, clear, errorі т.д.
  • Все (сценарії включені) має увійти <head>. Турбуйтеся про оптимізацію (переміщення матеріалів), коли це представляє проблему.
  • Зовнішні таблиці стилів та джерело JavaScript є обов'язковими, якщо це не конкретно для сторінки.

PHP

  • Рамки хороші, я рекомендую CodeIgniter.
  • Якщо ви не хочете використовувати фреймворк, спробуйте використовувати останню можливу версію PHP. (Це означає 5.3).
  • Використовуйте includesна вашу користь.
  • Очистіть ін'єкції або використовуйте підготовлені заяви.
  • Виконайте, якщо перевірка заздалегідь створених відмовних значень.

    $logged_in = false;
    if(check_user($user))
    {
         $logged_in = true;
         $user = load_user($_SESSION);
    }
  • Знайте різницю між одинарними та подвійними лапками. Використовуйте поодинокі цитати, коли це можливо.
  • Не повторюйте HTML.

4
Відмінний список. Для PHP я б додав 1) використання шаблонів, не змішуйте php & html (принаймні в додатках) 2) dont use включає () як функція викликає 3) зберігайте якомога більше коду поза межами глобальної області.
GrandmasterB

кожен, хто рекомендує CodeIgniter і jQuery, втрачає будь-яку цілісність в моїх очах.
mefisto

4
@teresko: Ви засуджуєте, не даючи причин чи альтернатив.
Джош К

+1. Перелік суперечливих та спірних питань, але все-таки досить хороший список.
хайлем

jQuery усуває всі головні болі між браузерами?
Джеймс Адам

3

Для натхнення є читання:

  • Zend Framework - стиль кодування PHP : Перелік практик написання головного PHP-коду (Форматування файлів PHP, Конвенції імен, Стиль кодування: масиви, рядки, клас, метод, наприклад).
  • Посібник зі стилю коду Google : Перелік практик написання коду JavaScript, що підтримується (Правила: Константи, Точки з комою, Вкладені функції ..., Стиль кодування: Назви, Область застосування, Рядок, поля видимості тощо).

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

1
@gnat редагувати / правильну відповідь
tomascejka

2

Тримайте 3 окремо. Найменш рентабельний код, з яким я маю справу, - це завжди, коли є якийсь PHP, який повторює багато HTML та JavaScript, ймовірно, з деякими показниками SQL.

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


2

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

Ось кілька корисних практик:

1) Поставте свій JavaScript у <head> документа (або, ще краще, в окремі файли, на які посилається в голові). Дізнайтеся, як зв’язувати слухачів подій у події document.onload, а не розкидати їх через ваш HTML. (Ще краще, навчіться використовувати таку рамку, як Jquery; це зробить ваш JavaScript набагато красивішим).

2) Знайдіть моделі дизайну, як MVC. Ви хочете максимально відокремити свою бізнес-логіку, написану на PHP, від свого HTML. В ідеалі ви можете використовувати приємну мову шаблонів, щоб зібрати свої HTML-сторінки; як мінімум, PHP у вашому HTML повинен бути лаконічним - головним чином викликаючи змінні та переглядаючи списки, побудовані в іншому місці.

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


Приємний коментар! Там друкується помилка: "Введіть свій JavaScript у документ"
DL

Уопс. Дякую. (Забув кодувати за кутовими дужками. Дурний мені.)
Патч

1
Javascript повинен переходити в кінці сторінки з міркувань продуктивності.
Тобі

0

Ось пара примхливості:

Javascript: використання varпри ініціалізації змінних.

HTML: Додайте сценарії внизу файлу, щоб вони завантажилися останніми.

PHP: розділити файли вгору. Не кладіть усі свої класи в один файл так само, як не було б у звичайній C ++ програмі. Коментуйте якомога більше, а також запишіть мету своїх функцій / занять.


Я намагався дотримуватися посібника зі стилю Javascript Google: google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
Fosco
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.