Принципы написания кода
Материал из Flazy wiki
Правила и рекомендации, изложенные в этом разделе, относится к PHP, JavaScript, SQL и другим языкам программирования которые используется во Flazy.
Содержание |
Правила наименования
Правила наименования применяются для обозначения переменных, функций, классов, атрибутов, массивов, массивов элементов, HTML полей, форм, запросов, таблиц базы данных, полей базы данных, а также любых других элементов Flazy.
- Все имена должны быть в нижнем регистре.
- Используйте _ (подчеркивание) для разделитель слов. Пример:
$date_format. Никогда не начинайте названия с подчеркивания (за исключением вложенных функций, которые должны начинаться с символа подчеркивания). - Используйте префикс
numдля элементов, которые представляют количество. Пример:$num_users. Используйте префиксcurдля элементов, которые представляют собой текущие значение и повторяются (результаты базы данных, массивов и т.д.). - Избегайте всех форм венгерской нотации или дериватов.
- Используйте здравый смысл. Если у вас есть сомнения, посмотрите на аналогичные части исходного кода во Flazy.
Правила скобок и отступов
Стиль отступов во Flazy строится по правилам Allman стиля. Все отступы должны быть сделаны табом, а не пробелом. Пример:
if ($a == $b) { do_something(); } else { do_something_else(); }
Обратите внимание на пробелы между ключевыми словами и скобкой. Исключением из стандарта Allman является "braceless" блоки. Использование блоков braceless поощряется. Например:
if ($a == $b) do_something(); else do_something_else();
Если автор предпочитает, то блок кода может также быть размещён на той же линии, что и условие.
Разрыв строк
Все строки должны быть только Unix line breaks. Установите редактор для сохранения файлов в стиле UNIX.
Правила PHP кода
Следующие правила применяются только к PHP коду.
- Используйте одинарные кавычки, а не двойные при работе со строками. Пример
$str = 'Участники: '.$num_users;а не$str = "Участники: $num_users";. - Оставляйте пробел в одну строку сверху и снизу каждого блока php кода при условии, что блок представляет собой несколько строк. Т.е. следует оставлять одну пустую строку выше каждого
?>и под каждым<?php. Исключением из этого может быть одна строчка кода и в этом случае весь блок должен быть на одной линии. - Не используйте короткие теги (
<?,<?=), следует использовать их полный эквивалент (<?php,<?php echo).
Правила SQL кода
Следующие правила применяются только к SQL коду.
- Всегда проверяйте потенциально опасные данные используя
$forum_db->escape(). Например, ожидаемые целочисленные значения должны быть вызваны используяintval(), прежде чем использовать в запросе. - Префиксы имён таблиц использовать через
$forum_db->prefix. - Используйте стиль соединения (join) SQL2003.
- Для кросс-совместимости с разными типами баз данным нужно использовать
$forum_db->query_build, которая позволяет легко создавать и использовать кросс-совместимые запросы. В редких случаях, когда совместимость невозможна, следует приложить все усилия чтобы обеспечить альтернативные запросы для других поддерживаемых типов баз данных.
Написание безопасного кода
- Проверяйте данные перед сохранением их в базу данных (Например на валидность).
- Проверяйте данные до вызова их браузером (Например,
forum_htmlencode()).
