ݺߣ

ݺߣShare a Scribd company logo
Как мы измеряем наши
Android-проекты
Сергеев Эдуард
Rambler&Co
Зачем?
Хотим, чтобы наш код был идеальным:
1.Красивым
2.Понятным
3.Тестируемым
4.Следовал единому стилю кода
Проблемы
1.Много проектов
2.Много инструментов
3.Сложно сравнивать
4.Сложно настраивать/расширять
Что мы хотим измерить
Продуктовые метрики
1. Средняя оценка в Google play
2. Количество активных пользователей
3. Crashfree
Метрики ПО
1. Покрытие тестами %
2. Сложность кода
3. Дублирующийся код %
4. Количество blocker & critical issues
Скриншоты Jenkins
Sonarqube
Duplications
Architecture & Design
Unit tests
ComplexityPotential bugs
Coding rules
Comments
Sources
Настройка проекта
Настройка Jenkins
Схема взаимодействия
Cron
(night)
Jenkins
Gitlab
Sonarqube
nightly build
Sonarqube Dashboard
Dashing.io
Схема
Dashing
Sonar API Google Play API Crashfree
Google charts
Как мы измеряем наши проекты
Как мы измеряем наши проекты
Как мы измеряем наши проекты
Как мы измеряем наши проекты
Проблемы при настройках
Мульти-модульные проекты
Мердж юнит-тестов/андроид юнит-тестов
Kotlin
Дальнейшее развитие
Метрики производительности
Обновленный дизайн
Резюме
Для анализа кода и вывода графиков подходят:
Система сборки (Jenkins)
Анализатор кода (Sonarqube)
Свой dashboard (Dashing)
Спасибо за внимание!
Вопросы?

More Related Content

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

Editor's Notes

  • #2: зачемы мы вообще измеряем и для чего метрикию контролируем код. Хотим это автоматизировать хотим выводить результаты на большой экран
  • #4: не централизованный подход 4. отдельные джобы в жене
  • #5: blocker & critical issues - это? и выводить эти графики на экран
  • #6: Настроили, посмотрели Посмотрели и решили, а давайте еще будем показывать сложность кода Потом подумали, и составили список, чего мы вообще хотим измерять долго, нудно и неэффективно
  • #7: SonarQube is an open platform to manage code quality. As such, it covers the 7 axes of code quality
  • #10: Результат этого джоба отправляется в сонаркуб
  • #11: но есть и бизнес метрики есть возможность создания кастомных метрик хотим хранить их в сонаркубе и пришли к выводу, что это дорого самому писать. графики не адаптированы для деменстрации на тв
  • #12: The exceptionally handsome dashboard framework. Большое количество готовых виджетов Возможность создавать свои виджеты Drag&Drop виджетов Оптимизировано для TV Легко развернуть
  • #13: Несколько джобов, которые обращают к внешним апи
  • #14: заюзали гугл чартс
  • #19: Переговорить с ребятами, которые с этим возились