Инструменты пользователя

Инструменты сайта


eaze:style_guide

Это старая версия документа.


Общие требования к коду

  • Пишите код так, чтобы он был понятен не только вам, но и тем людям, которые будут поддерживать проект после вас
  • В коде не должно быть так называемых «магических чисел», т.е. когда в исходном тексте встречается некоторое значение и неочевидно, что оно означает. Такие магические значения должны быть вынесены в константы (в среде PhpStorm это легко делается с помощью комбинации Ctrl+Alt+C )

Старайтесь весь JavaScript код выносить отдельно от шаблона (.tmpl.php) и подключать его через JsHelper для конкретных страниц. Не забывайте оборачивать его в $(function(){… });

Eaze

  • В action никогда не может быть sql запроса, потому что это «Controller», Получение данных нужно делать в «Model», т.е. в утилите.
  • В js можно использовать только те данные, которые были специальным образом переданы:
Response::setParameter( 'varName', ObjectHelper::ToJson($data) );
  • При вызове методов класса *Factory параметр options[BaseFactory::CustomSql] нужно использовать только в случаях OR или EXISTS или сложных функций, например lower(email) = lower. В простых случаях для задания ORDER BY или LIMIT следует использовать options[BaseFactory::OrderBy] и search['pageSize'] соответственно.
  • Не стоит использовать BaseFactory::CustomSql, если нужного поведения можно добиться с помощью Search Array в MFD.
  • При формировании строки options[BaseFactory::CustomSql] переменные нужно подставлять, предварительно сконвертировав их с помощью методов PgSqlConvert или MySqlConvert.
  • При вызове методов класса *Factory Не забывайте задавать опцию BaseFactory::WithoutPages ⇒ true в случае, когда вам не нужна пагинация (разбиение на страницы). Иначе, если у объекта в MFD включена опция «CanPages», вы получите неполный набор данных. Если вы забудете передать параметр в метод Count(), вы можете получить дробное количество элементов ;)).

Стиль именования

* Статические методы классов нужно называть с большой буквы * В именах методов и переменных используется camelCase * В именах таблиц в TDM используется camelCase

eaze/style_guide.1322638644.txt.gz · Последние изменения: 2011/11/30 11:37 — zenden