Внедрение стандарта оформления кода PSR-2

14 Октября 2014 11:46
0

В целях повышения качества программных продуктов, разрабатываемых внутри компании Т.Т.Консалтинг, мы вводим стандарт оформления кода PSR-2 (Proposing a Standards Recommendation). Сейчас этот стандарт не является общепринятым и носит рекомендательный характер. Разработчиком данного стандарта выступает группа взаимодействия фреймворков PHP-FIG, в состав которой входят участники таких проектов, как Joomla, phpBB, Yii, PEAR, Zend и др. Использование стандарта в рамках компании позволяет структурировать код и сделать его удобочитаемым для всех участников процесса. На данный момент используются три стандарта оформления кода PSR.

Стандарт PSR-0

Стандарт описывает именование классов в пространствах имен (namespace) для их автозагрузки. Имя класса должно содержать путь к файлу с описанием класса.
В общем виде это выглядит так: \Поставщик\(Пространство имен)*\Имя класса

Например:

Внедрение стандарта оформления кода PSR-2

Стандарт PSR-1

Стандарт описывает общие правила оформления кода.

  • Использование только тэгов <?php и <?
  • Кодировка только UTF-8 без BOM для PHP кода
  • Пространства имен и классы должны соответствовать PSR-0
  • Запрещено смешивать в одном файле классов, функций, констант, настроек (ini_set) и конструкций языка (echo)
  • Классы именуются в стиле StudlyCaps
  • Константы пишутся в верхнем регистре. В качестве разделителя между слов используется знак подчеркивания
  • Методы именуются в стиле camelCase
Стандарт PSR-2

Стандарт более подробно раскрывает оформление кода.
  • Строгое следование PSR-1
  • В качестве отступов использовать 4 пробела вместо табуляции
  • Длина строки с кодом 80-120 символов
  • Обязательным условием является наличие пустой строки после дериктив use и namespace
  • Открывающая фигурная скобка при объявлении класса или функции должна быть на новой строке, а закрывающая — на новой строке после тела класса или функции
  • Область видимости (public/protected/private) необходимо объявлять у всех свойств и методов класса; abstract и final объявлять перед областью видимости; static — после нее
  • Разделять пробелом управляющие конструкции (if/elseif/while/for/foraech/try-catch) и скобку. Пробелы между круглыми скобками и их содержимым не допустимы. *Открывающая фигурная скобка должна быть в конце строки
Пример оформления кода:

Внедрение стандарта оформления кода PSR-2