36. Что в Django
• Отдел контроля качества
• Прием платежей
• Учетное ядро
• Отчеты
• API для водителей
• Менеджерская для управления
37. Проблемы
• Приложение – один большой кусок, который нужно
выкатывать очень часто
• Невозможно параллельно, многопоточно выполнять какие-
то задачи
• Много интеграций со сторонними сервисами
52. Как рефакторить
• Четкие границы в коде между модулями
• Понимание, что выносить
• Нет повторений в коде и копипасты
53. Как рефакторить
• Четкие границы в коде между модулями
• Понимание, что выносить
• Нет повторений в коде и копипасты
• Тесты
54. Как рефакторить
• Четкие границы в коде между модулями
• Понимание, что выносить
• Нет повторений в коде и копипасты
• Тесты
• Много тестов
55. Как рефакторить
• Четкие границы в коде между модулями
• Понимание, что выносить
• Нет повторений в коде и копипасты
• Тесты
• Много тестов
• Очень много тестов
79. Выводы
• Не нужно добавлять сетевое ограничение чтобы оправдать
написание лучшего кода
80. Выводы
• Не нужно добавлять сетевое ограничение чтобы оправдать
написание лучшего кода
• Распределенные транзакции никогда не легче
81. Выводы
• Не нужно добавлять сетевое ограничение чтобы оправдать
написание лучшего кода
• Распределенные транзакции никогда не легче
• К микросервисам нужно прийти
82. Выводы
• Не нужно добавлять сетевое ограничение чтобы оправдать
написание лучшего кода
• Распределенные транзакции никогда не легче
• К микросервисам нужно прийти
• Лучше планируйте
83. Выводы
• Не нужно добавлять сетевое ограничение чтобы оправдать
написание лучшего кода
• Распределенные транзакции никогда не легче
• К микросервисам нужно прийти
• Лучше планируйте
• Преждевременно не оптимизируйте
84. Выводы
• Не нужно добавлять сетевое ограничение чтобы оправдать
написание лучшего кода
• Распределенные транзакции никогда не легче
• К микросервисам нужно прийти
• Лучше планируйте
• Преждевременно не оптимизируйте
• Рефакторите итеративно