SlideShare a Scribd company logo
Enter: code style
Боль №2: Code Style
Зачем нужен стандарт?
• Облегчает code review
• Упрощает поддержку кода в команде
• Способствует повышению качества продукта
Как будем внедрять?
• Для начала нужно выбрать стандарт
• Оценить масштаб бедствия в legacy code
• Подключить мониторинг изменений кода
• Помочь с настройками IDE и инструментария
• Поощрять соблюдение стандарта ^_^
Поощрять…
Доступные стандарты
• PEAR
• Zend, Symfony2, etc.
• PSR
• Drupal, WordPress, etc.
Оценим масштаб бедствия
Первый анализ проекта,
который разрабатывался несколько лет
и разными разработчиками:
- всего нарушений 11 504
- из них 8 373 критичных
- и 3 131 с нормальным приоритетом
Подключим мониторинг
Подружим Jenkins и PHP Code Sniffer
Поможем с настройками
Сегодня это предельно просто!
Усложним задачу
https://confluence.jetbrains.com/display/PhpStorm/PHP+Code+Sniffer+in+PhpStorm
Настроим инспектирование кода
Пройдемся автоформатированием и все!*
* не забываем держать новый код под контролем и рефакторить старый
Пожинаем плоды
Проект номер два
Проект номер три
• 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/
Полезные ссылки
—но никто не заметил разницы
придерживайся стандартов!
Спасибо за внимание!
Есть вопросы?
Камиль Самигуллин
какой-то разработчик
kamil@samigullin.info
@ikamilsk
github.com/kamilsk
linkedin.com/in/kamilsk

More Related Content

PDF
Enter: legacy code
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
PPTX
C#5 What's new?
PDF
Мой маленький уютный PaaS / Илья Беда (bro.agency)
PDF
Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)
PDF
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
PDF
Антон Галицын
PPTX
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Enter: legacy code
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
C#5 What's new?
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Антон Галицын
Инструмент ChangelogBuilder для автоматической подготовки Release Notes

What's hot (20)

PDF
Сергей Белов
PPT
Инструментация среды исполнения в арсенале тестировщика
PDF
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
PDF
Илья Кудинов
PPTX
Как мы собираем проекты в выделенном окружении в Windows Docker
PPTX
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
PDF
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
PDF
Переосмысливая подход к инфраструктурному коду / Евгений Пивень (IPONWEB)
PDF
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
PPTX
Типовая сборка и деплой продуктов в Positive Technologies
PDF
Артём Ерошенко «Рецепт приготовления облачных тестингов»
PPTX
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
PDF
Как Cluster Membership Software может помочь QA
PPTX
Codeception + Docker + Robo и что из этого вышло
PDF
Github Flow. Тестировщики против тестирования
PDF
Python Development process in Yandex
PDF
Continuousdelivery
PPTX
Развитие сообщества Open DevOps Community
PPTX
Python tools for web development (Python meetup Almaty #ALAPY)
PDF
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Сергей Белов
Инструментация среды исполнения в арсенале тестировщика
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Илья Кудинов
Как мы собираем проекты в выделенном окружении в Windows Docker
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Переосмысливая подход к инфраструктурному коду / Евгений Пивень (IPONWEB)
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
Типовая сборка и деплой продуктов в Positive Technologies
Артём Ерошенко «Рецепт приготовления облачных тестингов»
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
Как Cluster Membership Software может помочь QA
Codeception + Docker + Robo и что из этого вышло
Github Flow. Тестировщики против тестирования
Python Development process in Yandex
Continuousdelivery
Развитие сообщества Open DevOps Community
Python tools for web development (Python meetup Almaty #ALAPY)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Ad

Similar to Enter: code style (20)

PDF
Повышаем и следим за качеством PHP кода
PDF
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
PPT
Software Testing Body of Knowledge (Russian)
PPTX
Лучшие практики на практике
PDF
Юрий Василевский «Автоматизация в XCode»
PDF
Юрий Василевский "Автоматизация в XCode"
PDF
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
PDF
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
PDF
QAFest. Роль тестирования в Devops
PPT
Club QA Kostoma. First Meeting. Доклад. Что должен знать тестировщик.
PDF
PDF
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
PPTX
Improvement of PHP code quality (by Alexander Makhomet) - Web Back-End Tech H...
PPTX
Code review как средство обеспечения качества программного обеспечения
PPTX
Agile testing
PPTX
XP Days Ukraine 2014 - Refactoring legacy code
PDF
11 HappyDev-lite'14 Андрей Казимиров. Особенности разработки по для встраива...
PDF
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
PPTX
Майстер-клас "Автоматизоване тестування. З чого почати?" (частина 1)
PPT
Trpo 12 управление качеством
Повышаем и следим за качеством PHP кода
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
Software Testing Body of Knowledge (Russian)
Лучшие практики на практике
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский "Автоматизация в XCode"
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
Club QA Kostoma. First Meeting. Доклад. Что должен знать тестировщик.
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Improvement of PHP code quality (by Alexander Makhomet) - Web Back-End Tech H...
Code review как средство обеспечения качества программного обеспечения
Agile testing
XP Days Ukraine 2014 - Refactoring legacy code
11 HappyDev-lite'14 Андрей Казимиров. Особенности разработки по для встраива...
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
Майстер-клас "Автоматизоване тестування. З чого почати?" (частина 1)
Trpo 12 управление качеством
Ad

More from Kamil Samigullin (6)

PDF
OctoLab Cookbook: Go lang tips and tricks - protection of sensitive config data
PDF
OctoLab Cookbook: how to use composer.yml and stop creating issues about
PDF
OctoLab Cookbook: how to generate a unique key for a sequence
PDF
Enter Cookbook: refactoring under a microscope
PDF
Enter: testing
PDF
Enter: git workflow
OctoLab Cookbook: Go lang tips and tricks - protection of sensitive config data
OctoLab Cookbook: how to use composer.yml and stop creating issues about
OctoLab Cookbook: how to generate a unique key for a sequence
Enter Cookbook: refactoring under a microscope
Enter: testing
Enter: git workflow

Enter: code style