enter: code style
TRANSCRIPT
![Page 1: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/1.jpg)
![Page 2: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/2.jpg)
Боль №2: Code Style
![Page 3: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/3.jpg)
Зачем нужен стандарт?
• Облегчает code review
• Упрощает поддержку кода в команде
• Способствует повышению качества продукта
![Page 4: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/4.jpg)
Как будем внедрять?• Для начала нужно выбрать стандарт
• Оценить масштаб бедствия в legacy code
• Подключить мониторинг изменений кода
• Помочь с настройками IDE и инструментария
• Поощрять соблюдение стандарта ^_^
![Page 5: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/5.jpg)
Поощрять…
![Page 6: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/6.jpg)
Доступные стандарты
• PEAR
• Zend, Symfony2, etc.
• PSR
• Drupal, WordPress, etc.
![Page 7: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/7.jpg)
Оценим масштаб бедствия
Первый анализ проекта, который разрабатывался несколько лет и разными разработчиками: - всего нарушений 11 504 - из них 8 373 критичных - и 3 131 с нормальным приоритетом
![Page 8: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/8.jpg)
Подключим мониторингПодружим Jenkins и PHP Code Sniffer
![Page 9: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/9.jpg)
Сегодня это предельно просто!Поможем с настройками
![Page 10: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/10.jpg)
Усложним задачу
https://confluence.jetbrains.com/display/PhpStorm/PHP+Code+Sniffer+in+PhpStorm
Настроим инспектирование кода
![Page 11: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/11.jpg)
Пройдемся автоформатированием и все!*
* не забываем держать новый код под контролем и рефакторить старый
![Page 12: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/12.jpg)
Пожинаем плоды
![Page 13: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/13.jpg)
и никто не заметил подмены
в идеальном мире должно быть примерно так:
![Page 14: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/14.jpg)
• 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](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/15.jpg)
придерживайся стандартов
![Page 16: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/16.jpg)
Спасибо за внимание!
Есть вопросы?
Камиль Самигуллин какой-то разработчик
[email protected] @ikamilsk github.com/kamilsk
![Page 17: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/17.jpg)
![Page 18: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/18.jpg)
Проект номер раз
![Page 19: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/19.jpg)
Проект номер два
![Page 20: Enter: code style](https://reader031.vdocuments.site/reader031/viewer/2022020116/55b63ea7bb61ebcc398b4770/html5/thumbnails/20.jpg)
Еще немного ссылок
• https://plugins.jetbrains.com/plugin/7622?pr=phpStorm
• http://www.php-fig.org