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

Рефакторинг в условиях быстрорастущего стартапа. Егор Фесенко

CocoaHeads
November 15, 2019

Рефакторинг в условиях быстрорастущего стартапа. Егор Фесенко

Все хотят работать с хорошо написанной системой, в которой фикс багов будет занимать секунды, а добавление новых фич покажется легкой и незатейливой задачей. Но, к сожалению, изначально предусмотреть все шаги в развитии продукта мы не можем, и любой код через какое-то время перестанет быть идеальным для поставленных задач. Это нормально. И потому рефакторинг — процесс, который должен проводиться постоянно.
В докладе я расскажу:
- как найти время на рефакторинг;
- на что обращать внимание перед тем, как начать переписывать проект;
Покажу немного примеров из нашего опыта.

CocoaHeads

November 15, 2019
Tweet

More Decks by CocoaHeads

Other Decks in Technology

Transcript

  1. 3 Revolut Компания основана в 2015 г. 8+ млн пользователей

    20+ офисов в мире 1700+ сотрудников Оценка компании $1,7 млрд
  2. 5

  3. 6 Проблема со стороны бизнеса ❗ Обычно менеджер не видит

    прямую связь между рефакторингом и прибылью компании.
  4. 7 ❗ Обычно менеджер не видит прямую связь между рефакторингом

    и прибылью компании. ‼ «Время на рефакторинг» — Грааль в мире разработки. Проблема со стороны бизнеса
  5. 8 Проблема со стороны разработки ❗ Ребят, тут очень сложно

    всё, поэтому я оставил как было, но фича работает, всё нормально.
  6. 9 Проблема со стороны разработки ❗ Ребят, тут очень сложно

    всё, поэтому я оставил как было, но фича работает, всё нормально. ‼ Всегда всё сложно. Сделать фичу — часть работы. Оставить все в лучшем состоянии, чем было до вас — тоже.
  7. 10 Что делать • Решайте задачи бизнеса. Вы с менеджером

    в одной лодке, и его успех — ваш успех.
  8. 11 Что делать • Решайте задачи бизнеса. Вы с менеджером

    в одной лодке, и его успех — ваш успех. • Найдите минимально возможное улучшение и запланируйте его в рамках следующего спринта.
  9. 12 Что делать • Решайте задачи бизнеса. Вы с менеджером

    в одной лодке, и его успех — ваш успех. • Найдите минимально возможное улучшение и запланируйте его в рамках следующего спринта. • Регулярно показывайте заказчику ценность рефакторинга и его значение для продукта, пользователей.
  10. 18 Примеры • Баг с доступом к вкладам • Проблемы

    с производительностью на главном экране
  11. 19

  12. 29

  13. 32

  14. 33

  15. 34

  16. •Ходил в сеть (Repository) •Отправлял данные в локальное хранилище (Repository)

    •Передавал информацию между экранами Что делал DataProvider 35
  17. •Ходил в сеть (Repository) •Отправлял данные в локальное хранилище (Repository)

    •Передавал информацию между экранами Что делал DataProvider 37
  18. •Ходил в сеть (Repository) •Отправлял данные в локальное хранилище (Repository)

    •Передавал информацию между экранами Что делал DataProvider 38
  19. 45 Выводы • Помните, что вы зарабатываете деньги для компании,

    а не занимаетесь экспериментами над архитектурой.
  20. 46 Выводы • Помните, что вы зарабатываете деньги для компании,

    а не занимаетесь экспериментами над архитектурой. • Попробуйте сделать наименьшее возможное улучшение и посмотрите, куда это приведет вас.
  21. 47 Выводы • Помните, что вы зарабатываете деньги для компании,

    а не занимаетесь экспериментами над архитектурой. • Попробуйте сделать наименьшее возможное улучшение и посмотрите, куда это приведет вас. • Будьте на одной волне с бизнесом. Смотрите на себя как на часть команды, а не машинку для набирания кода.
  22. 48 Выводы • Помните, что вы зарабатываете деньги для компании,

    а не занимаетесь экспериментами над архитектурой. • Попробуйте сделать наименьшее возможное улучшение и посмотрите, куда это приведет вас. • Будьте на одной волне с бизнесом. Смотрите на себя как на часть команды, а не машинку для набирания кода. • Идеала не существует, но это не повод не стремиться к нему.