PHP, HTML, Javascript и написание хороших практик

10

Я понял, что должен написать спецификацию соглашения о кодировании HTML, JavaScript и PHP для меня и моей команды.

В веб-разработке, как и в C ++, я определенно поклонник отступов и комментариев.

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

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

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

Федерико Занкан
источник

Ответы:

19

Некоторые общие правила, которым я следую:

генеральный

  • Отступы - 4 пробела.
  • Сделайте отступ новых уровней
  • Комментарии <~ 80 символов от уровня отступа. Если я нахожусь на двух уровнях (8 пробелов), это означает, что курсор остановится около 88 символов.
  • Используйте многострочные комментарии. Я предпочитаю внешний вид, однако это субъективный момент.
  • Комментируйте сейчас, а не потом, когда вы не знаете, что происходит.
  • Брекеты в стиле Allman . Это чище и более читабельно. Субъективно .

JavaScript

  • Используйте библиотеку. JQuery, в частности, очень хорошо. Это устраняет все кросс браузерные головные боли.
  • Поймите, что идентификаторы для определенных элементов, классы для стилей. Идентификаторы не должны использоваться более одного раза на страницу, и к ним будут прикреплены определенные хуки. Используйте классы для таких вещей, как навигация.
  • Из источника в методы. Соблазнительно поместить весь код в bindвызов, однако добавление его в свою собственную функцию увеличит гибкость вашего кода.
  • Используйте функции вместо уловок. Это означает, что 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) не использовать include () в качестве вызовов функций 3) хранить как можно больше кода вне глобальной области видимости.
GrandmasterB
любой, кто рекомендует CodeIgniter и jQuery, теряет честность в моих глазах.
Мефисто
4
@teresko: Вы осуждаете без объяснения причин или альтернатив.
Джош К
+1. Список спорных и спорных моментов, но тем не менее довольно хороший список.
Хайлем
JQuery устраняет все кросс-браузерные головные боли?
Джеймс Адам
3

Есть некоторые чтения для вдохновения:

  • Zend Framework - стиль кодирования php : Список практик по написанию основного php-кода (форматирование файлов PHP, соглашения об именах, стиль кодирования: массивы, строки, класс, метод и т. Д.).
  • Google - руководство по стилю кода : список методов написания основного кода JavaScript (правила: константы, точки с запятой, вложенные функции ..., стиль кодирования: имена, области действия, строки, поля видимости и т. Д.).
tomascejka
источник
Вы не могли бы объяснить больше о том, что делают эти ресурсы и почему вы рекомендуете их как ответы на заданный вопрос? «Ответы только на ссылки» не очень приветствуются на Stack Exchange
комнат
1
@gnat редактировать / правильный ответ
Томашейка
2

Держите 3 отдельно. Наименее обслуживаемый код, с которым я имею дело, всегда, когда есть некоторый PHP, который повторяет много HTML и JavaScript, вероятно, с некоторым SQL, брошенным для хорошей меры.

Хранение всех этих элементов в отдельности значительно облегчит обслуживание кода, а также упростит работу, если у вас есть люди, работающие над различными частями приложения, например, дизайнер, которому нужно работать только с HTML / CSS.

GSto
источник
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