Как мы измеряем наши проекты
TRANSCRIPT
![Page 1: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/1.jpg)
Как мы измеряем наши Android-проектыСергеев ЭдуардRambler&Co
![Page 2: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/2.jpg)
Зачем?
Хотим, чтобы наш код был идеальным:
1.Красивым
2.Понятным
3.Тестируемым
4.Следовал единому стилю кода
![Page 3: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/3.jpg)
Проблемы
1.Много проектов
2.Много инструментов
3.Сложно сравнивать
4.Сложно настраивать/расширять
![Page 4: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/4.jpg)
Что мы хотим измеритьПродуктовые метрики
1. Средняя оценка в Google play
2. Количество активных пользователей
3. Crashfree
Метрики ПО
1. Покрытие тестами %
2. Сложность кода
3. Дублирующийся код %
4. Количество blocker & critical issues
![Page 5: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/5.jpg)
Скриншоты Jenkins
![Page 6: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/6.jpg)
Sonarqube
Duplications
Architecture & Design
Unit tests
ComplexityPotential bugs
Coding rules
Comments
Sources
![Page 7: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/7.jpg)
Настройка проекта
![Page 8: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/8.jpg)
Настройка Jenkins
![Page 9: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/9.jpg)
Схема взаимодействия
Cron(night) Jenkins
Gitlab
Sonarqubenightly build
![Page 10: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/10.jpg)
Sonarqube Dashboard
![Page 11: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/11.jpg)
Dashing.io
![Page 12: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/12.jpg)
СхемаDashing
Sonar API Google Play API Crashfree
![Page 13: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/13.jpg)
Google charts
![Page 14: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/14.jpg)
![Page 15: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/15.jpg)
![Page 16: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/16.jpg)
![Page 17: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/17.jpg)
![Page 18: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/18.jpg)
Проблемы при настройках
Мульти-модульные проекты
Мердж юнит-тестов/андроид юнит-тестов
Kotlin
![Page 19: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/19.jpg)
Дальнейшее развитие
Метрики производительности
Обновленный дизайн
![Page 20: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/20.jpg)
Резюме
Для анализа кода и вывода графиков подходят:
Система сборки (Jenkins)
Анализатор кода (Sonarqube)
Свой dashboard (Dashing)
![Page 21: Как мы измеряем наши проекты](https://reader036.vdocuments.site/reader036/viewer/2022081513/587f8dbc1a28ab28518b6075/html5/thumbnails/21.jpg)
Спасибо за внимание!Вопросы?