Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Improving Your Mobile Development (rus)

Improving Your Mobile Development (rus)

Совершенствование разработки мобильных приложений

Доклад о том, как мы улучшали процессы разработки в мобильной (и не только) команде, что использовали и почему, к чему стремились.

IT'Summer 2016
http://cioconf.ru/program/#2276

Ключевые слова: Continuous Integration, Continuous Delivery, code-review, статический анализ, QA

Avatar for Ilya Tretyakov

Ilya Tretyakov

July 30, 2016

Other Decks in Programming

Transcript

  1. • «Мы не можем релизиться - Иван сейчас в отпуске»

    • «Мы не можем выложить обновление - сборка сломана» • «Ммм, нет смысла ради этого багфикса обновлять приложение» • «Ты уверен, что эта сборка использует production- сервер?» • «Нужна новая сборка, в старой забыли увеличить версию»
  2. Code review • раннее исправление ошибок • обучение младших программистов

    • изучение кода коллег • уменьшение дублирования функционала (не кода!)
  3. Code review • ограничивайте количество кода • ограничивайте время •

    очень важна регулярность • 1 задача - 1 инспекция кода • помните о комфорте Best Kept Secrets of Peer Code Review / Jason Cohen
  4. Статический анализ кода • не отнимает время у разработчиков •

    исключает очевидные замечания до ревью • позволяет оценить технический долг
  5. Распространение Версия • своя для каждой поставляемой ветки • используется

    номер сборки • versionCode = 76 • versionName = 1.4.76 • используется QA/пользователем при описании багов • используется программистами (тег, логи, отчеты об ошибках)
  6. Распространение Список изменений (changelog) • что изменилось? • что появилось?

    • варианты составления: • руками • git log • ссылки на тикеты / документацию
  7. Распространение Сбор данных о крешах • сохранение дебаг-символов для расшифровки

    стектрейсов (mapping.txt/dSYM.zip) • сохранение данных о креше • стектрейс • название устройства • версия Android • технические данные и тд • логи
  8. Обычно Должно быть Серверные и мобильные разработчики Кадр из фильма

    Captain America: Civil War http://marvel.com/movies/movie/219/captain_america_civil_war Photo by Alberto E. Rodriguez/Getty Images for Disney Мобильное API: Серверные разработчики VS Мобильные, Роман мочалов, http://www.slideshare.net/ImproveGroup/api-vs
  9. Спецификация API • история изменений • протокол передачи данных (обычно

    https) • кодировка, типы полей, структуры данных • ошибки • локализация • аутентификация
  10. isItSunnyToday обязательный boolean 1. 0 2. 1 3. true 4.

    false 5. null 6. "да" { "isItSunnyToday": … }
  11. Причины • спецификацию не читают • вам не сказали, что

    спецификацию обновили • API не готово
  12. Статистика • не знают про гайды • знают, но не

    читали • знают, читали, не хотят следовать 10 % 90 %
  13. Статистика • не знают про гайды • знают, но не

    читали • знают, читали, не хотят следовать 10 % 90 % «42,7 процента статистики берутся с потолка» Стивен Райт, «Симпсоны и их математические секреты» Саймон Сигнх