21
Как мы измеряем наши Android- проекты Сергеев Эдуард Rambler&Co

Как мы измеряем наши проекты

Embed Size (px)

Citation preview

Page 1: Как мы измеряем наши проекты

Как мы измеряем наши Android-проектыСергеев ЭдуардRambler&Co

Page 2: Как мы измеряем наши проекты

Зачем?

Хотим, чтобы наш код был идеальным:

1.Красивым

2.Понятным

3.Тестируемым

4.Следовал единому стилю кода

Page 3: Как мы измеряем наши проекты

Проблемы

1.Много проектов

2.Много инструментов

3.Сложно сравнивать

4.Сложно настраивать/расширять

Page 4: Как мы измеряем наши проекты

Что мы хотим измеритьПродуктовые метрики

1. Средняя оценка в Google play

2. Количество активных пользователей

3. Crashfree

Метрики ПО

1. Покрытие тестами %

2. Сложность кода

3. Дублирующийся код %

4. Количество blocker & critical issues

Page 5: Как мы измеряем наши проекты

Скриншоты Jenkins

Page 6: Как мы измеряем наши проекты

Sonarqube

Duplications

Architecture & Design

Unit tests

ComplexityPotential bugs

Coding rules

Comments

Sources

Page 7: Как мы измеряем наши проекты

Настройка проекта

Page 8: Как мы измеряем наши проекты

Настройка Jenkins

Page 9: Как мы измеряем наши проекты

Схема взаимодействия

Cron(night) Jenkins

Gitlab

Sonarqubenightly build

Page 10: Как мы измеряем наши проекты

Sonarqube Dashboard

Page 11: Как мы измеряем наши проекты

Dashing.io

Page 12: Как мы измеряем наши проекты

СхемаDashing

Sonar API Google Play API Crashfree

Page 13: Как мы измеряем наши проекты

Google charts

Page 14: Как мы измеряем наши проекты
Page 15: Как мы измеряем наши проекты
Page 16: Как мы измеряем наши проекты
Page 17: Как мы измеряем наши проекты
Page 18: Как мы измеряем наши проекты

Проблемы при настройках

Мульти-модульные проекты

Мердж юнит-тестов/андроид юнит-тестов

Kotlin

Page 19: Как мы измеряем наши проекты

Дальнейшее развитие

Метрики производительности

Обновленный дизайн

Page 20: Как мы измеряем наши проекты

Резюме

Для анализа кода и вывода графиков подходят:

Система сборки (Jenkins)

Анализатор кода (Sonarqube)

Свой dashboard (Dashing)

Page 21: Как мы измеряем наши проекты

Спасибо за внимание!Вопросы?