Принципы написания кода

Материал из 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()).
Личные инструменты