Главная > Стандарты программирования
21 Август, 2013

Стандарты программирования

1619 0
LoadingМне нравится
1 Star2 Stars3 Stars4 Stars5 Stars
Загрузка...

 Немного могли изменится с выходом PrestaShop 1.6.1

Стандарты программирования

Последовательность важна, тем более, при написании open source проектов, так как множество людей их читают именно поэтому Ваш код должен быть прост и понятен другим.

Если Вы используете IDE, попробуйте phpSniffer, для того чтобы быстрее и лучше писать код.

PHP

Имена переменных

Должны быть написаны на англ. языке, в именах переменных не должен использоваться синтаксис CamelCase, т.к. CamelCase используются для обозначения классов.

  1. В соответствии с данными из базы данных: $my_var .
  2. В соответствии с алгоритмом: $my_var .
  3. Видимость переменной-члена не влияет на его имя: private $my_var .

Задания

  1. Соблюдайте пробел между переменными и операторами:

 

Операторы

  1. Соблюдайте пробел между операторами ” + “,” – “,” * “,” / “,” = “, и любая комбинация из них (например,” / = “) .

     
  2. ” . ” не ставьте пробел между переменными.

    Для повышения производительности, пожалуйста, не злоупотребляйте конкатенации.
  3. ” . = “нужен пробел между переменной  и точкой
  4. При тестировании логической переменной, не используйте оператор сравнения, а непосредственно использовать само значение, или значение префикса с восклицательным знаком:

     

Условные конструкции

  1. if , elseIf  используйте пробел после их применения.

     
  2. Когда используются в комбинации конструкция else может быть опущена.

    Рекомендация
    Возвращайте одно значение у метода / функции.
  3. Когда метод / функция возвращает логический и текущий метод / функции ее лучше избегать.

     
  4. Испытания должны быть сгруппированы по сущности.

Область видимости

  1. Видимость должна быть определена каждый раз, даже если это открытый метод.
  2. Порядок свойств метода должно быть:  visibility static function FunctionName () .

Методы / Имена функций

  1. Для названия методов и имен функций применяйте CamelCase: каждое следующее слово должно начинаться с большой буквы.
  2. Скобки должны начинаться с новой строки.

     
  3. Метод и имена функций должны быть явными, поэтому имена функций, таких как b () или ef() настоятельно не рекомендуются исключением являются функции вызова и дебага.

Перечисление

Запятые должны стоять перед пробелами.

 

Объекты / Классы

  1. Имя объекта должно состоять из одного слова.

     
  2. Имя классов должны быть написаны CamelCase (верблюжьей нотацией), первая буква должна быть в верхнем регистре.

     

Константы

  1. Имена констант должны быть написаны в верхнем регистре, за исключением “true”, “false” and “null”, которые должны быть в нижнем регистре:  ENT_NOQUOTE, true.
  2. Имена констант должны быть с префиксом “ PS_” внутри ядра и модулей.

     
  3. Имена констант должны использовать только буквы алфавита и “_” (символы подчеркивания).

Ключевые слова

Все ключевые слова должны быть в нижнем регистре:  as, case, if, echo, null.

Переменные

Переменных следуют тем же правилам, описанными выше.

Строки

Строки должны быть в одинарных кавычках, не в двойных.

 

Комментарии

  1. Внутри функций и методов, допускаются только комментарии ” / / “.
  2. После символа ” / / ” комментария, ставится пробел:

     
  3. ” / / “комментарий должен идти после кода.

     
  4. Вне функции и методы, допускаются только такие комментарии ” / * “и” * / “.
  5. PHPDoc необходимо описывать методы перед их определением.

    Внимание!

    Для получения дополнительной информации о синтаксисе PHP Doc: http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html .

Возврат функции

  1. При возврате функции круглые скобки не требуются, кроме тех случаев, когда происходит вычисление выражения.

     

  2. Чтобы выйти из функции используйте return.

     

Вызов функций

прямой вызов функций  запрещен ” @ “, никогда не вызываете методы и функции напрямую.

Тэги

  1. Оставляйте пустую строку, после тега PHP.

     
  2. Закрывающий тег не нужен в конце файла т.к. после него могут идти другие файлы.

Отступ

  1. Для отступов используйте символ табуляции TAB (“ \t”).
  2. Каждый уровень отступа должен быть представлен один символ табуляции.

     

Массив

  1. После массива не требуется отступ.
  2. Когда слишком много данных в массиве, отступ должен быть следующим:

     

Скобки

Круглые скобки запрещены, если они не определяют инструкцию или комбинацию.

Безопасность

  1. Все данные пользователей (данные, введенные пользователем) должен быть защищены.

    Внимание!

    getValue() не защитит ваш код от попыток взлома (SQL инъекции, XSS и нарушений CRSF). Вы должны подумать о защите самостоятельно.
    Один из методов безопасности PrestaShop  pSQL($value): помогает защитить вашу базу данных от SQL инъекций.

  2. Все методы / функции ‘с параметрами должны быть напечатаны (когда массив или объект ), когда получил.

  3. Для всех остальных параметров, они должны быть поданы каждый раз, когда они используются, кроме случаев, когда они направляются на другие методы / функции.

 

Лимиты

  1. Строки ограничены 120 символами.
  2. Функции и методы ограничены до 80 символов. Должны быть очень веские причины, называть функцию длиннее 80 символов !

Другой

  1. Запрещается использовать тройные в другой тройных, таких, как  echo ((true ? 'true' : false) ? 't' : 'f');.
  2. Мы рекомендуем использовать && и | | в условных конструкциях: echo (‘X’ == 0 && ‘X’ == TRUE) .
  3. Пожалуйста, воздержитесь от использования ссылок на объекты, таких как:

SQL

Имена таблиц

  1. Имена таблиц должны начинаться с PrestaShop ” _DB_PREFIX_ “префикс.

  1. Имена таблиц должны иметь то же имя, что и объект: ” ps_cart “.
  2. Имена таблиц должны остаться уникальными: ” ps_order “.
  3. Перевод должен храниться в таблице с именем, как таблица объекта, и с ” _lang ” приставки:” ps_product_lang “.

SQL запросов

Ключевые слова должны быть написаны в верхнем регистре.

Поля, таблицы, имена должны экранироваться кавычками (” ` “)

Псевдонимы должны использовать первые буквы таблиц с которых они взяты.

Если происходит конфликт в названии таблиц (такой псевдоним уже существует) используйте 2 букву.

Отступы должно быть сделаны для каждого пункта.

Запрещается делать JOIN в WHERE.

Установка кода валидатором (PHP phpSniffer)

Это краткое руководство по установке валидатора кода на ваш компьютер и использование его. Для проверки кода PHP используется phpSniffer, который является пакетом PEAR ( http://pear.php.net/package/PHP_phpSniffer/ ). PrestaShop был создан специально для phpSniffer, используя многие правила взяты из существующих стандартов, с добавлением настраиваемые правила для того, чтобы лучше соответствовать нашему проекту.

Вы можете скачать PrestaShop с помощью SVN:  https://github.com/PrestaShop/PrestaShop-norm-validator (вы должны выполнить этот шаг, прежде чем двигаться дальше в этом уроке).

Внимание!

Для того, чтобы он был признан в качестве основного стандарта , он должен быть помещен в phpSniffer / В папку по умолчанию.

PhpStorm

Если вы используете PhpStorm ( http://www.jetbrains.com/phpstorm/ ), выполните следующие действия:

  1. Перейдите в раздел Настройки -> Инспекции -> PHP -> PHP код Sniffer.
  2. Установите путь к phpcs.
  3. Установите стандарт кодирования как в “PrestaShop” (которая доступна только если вы действительно размещал phpSniffer / Папку по умолчанию).

Интеграция в Vim

Некоторые плагины доступны в Интернете. Например, вы можете использовать этот: https://github.com/bpearson/vim-phpcs/blob/master/plugin/phpcs.vim
Положить в  ~ / .vim / плагин папку.

Вы можете добавить два ярлыка (например, F9, чтобы отобразить все и Ctrl + F9, чтобы скрыть предупреждения) в вашем vimrc. файл в нормальном и режиме вставки:

Командной строки (Linux)

Вы не должны использовать Eclipse, использовать phpSniffer, вы также можете установить его так, что он может быть вызван из командной строки.

  1. Установите PEAR: http://pear.php.net/ 
    $> APT-получить установку PHP-груша
  2. Установите PHP phpSniffer в PEAR: http://pear.php.net/package/PHP_phpSniffer 
    $> груши установки PHP_phpSniffer
  3. Добавить PrestaShop стандарт, который вы загрузили с SVN ранее, и поместить его в PHP phpSniffer в “стандартах” папку. $> SVN сотрудничестваhttp://svn.prestashop.com/branches/norm/ / USR / доли / PHP / PHP / phpSniffer / Стандарты / Prestashop
  4. Установите Prestashop стандарта как по умолчанию $> phpcs – конфигурации-default_standard установить Prestashop

Различные варианты этой команды хорошо объяснено в документации к нему. Пока, вот это самый простой способ, чтобы запустить его:

Для того, чтобы отображать только ошибки, а не предупреждения:

Если вы уже установили вручную phpSniffer PHP, программа должна быть в в PEAR / скрипты папку.

Внимание!

Пользователям Windows: хотя phpcs.bat файл должен быть в этой / скрипты папку, вы, возможно, придется изменить его для того, чтобы работать должным образом (заменить пути с вашим):

Перевод выполнен Saerty.
Если вы заметили ошибку, пожалуйста дайте знать.
Источник: офф сайт

Коментарии0 новых