Enter: code style

20

Transcript of Enter: code style

Page 1: Enter: code style
Page 2: Enter: code style

Боль №2: Code Style

Page 3: Enter: code style

Зачем нужен стандарт?

• Облегчает code review

• Упрощает поддержку кода в команде

• Способствует повышению качества продукта

Page 4: Enter: code style

Как будем внедрять?• Для начала нужно выбрать стандарт

• Оценить масштаб бедствия в legacy code

• Подключить мониторинг изменений кода

• Помочь с настройками IDE и инструментария

• Поощрять соблюдение стандарта ^_^

Page 5: Enter: code style

Поощрять…

Page 6: Enter: code style

Доступные стандарты

• PEAR

• Zend, Symfony2, etc.

• PSR

• Drupal, WordPress, etc.

Page 7: Enter: code style

Оценим масштаб бедствия

Первый анализ проекта, который разрабатывался несколько лет и разными разработчиками: - всего нарушений 11 504 - из них 8 373 критичных - и 3 131 с нормальным приоритетом

Page 8: Enter: code style

Подключим мониторингПодружим Jenkins и PHP Code Sniffer

Page 9: Enter: code style

Сегодня это предельно просто!Поможем с настройками

Page 10: Enter: code style

Усложним задачу

https://confluence.jetbrains.com/display/PhpStorm/PHP+Code+Sniffer+in+PhpStorm

Настроим инспектирование кода

Page 11: Enter: code style

Пройдемся автоформатированием и все!*

* не забываем держать новый код под контролем и рефакторить старый

Page 12: Enter: code style

Пожинаем плоды

Page 13: Enter: code style

и никто не заметил подмены

в идеальном мире должно быть примерно так:

Page 14: Enter: code style

• https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md

• http://cs.sensiolabs.org

• https://github.com/clbustos/PHP_Beautifier

• https://github.com/squizlabs/PHP_CodeSniffer

• https://github.com/badoo/phpcf/

Полезные ссылки

Page 15: Enter: code style

придерживайся стандартов

Page 16: Enter: code style

Спасибо за внимание!

Есть вопросы?

Камиль Самигуллин какой-то разработчик

[email protected] @ikamilsk github.com/kamilsk

Page 17: Enter: code style
Page 18: Enter: code style

Проект номер раз

Page 19: Enter: code style

Проект номер два

Page 20: Enter: code style

Еще немного ссылок

• https://plugins.jetbrains.com/plugin/7622?pr=phpStorm

• http://www.php-fig.org