В начале карьеры кажется: «Главное работает, а код... ну, потом причешу». Вы копипастите кусок из StackOverflow, зашиваете константы прямо в Activity и пропускаете тесты, чтобы успеть к релизу.
Поздравляю, вы только что взяли кредит у своего будущего.
Технический долг - это цена, которую вы платите за быстрые и некачественные решения.
❌ Как это выглядит (Симптомы):
1. Страх перемен: Вы боитесь тронуть старый класс
DataHelper, потому что всё приложение может развалиться.2. Эффект бабочки: Фиксите баг в одном месте - вылетает два новых в другом.
3. Onboarding-катастрофа: Новый разработчик в команде неделю не может понять, как работает экран корзины.
📈 Проценты по кредиту:
Если долг не отдавать (не рефакторить), «проценты» растут. Скорость разработки падает. То, что раньше занимало 2 часа, теперь занимает 2 дня, потому что 90% времени уходит на борьбу с «костылями».
🛡 Как выходить из долговой ямы (Стратегии Мидла):
1. Правило Бойскаута: Оставляйте код чище, чем он был до вас. Зашли поправить мелкий баг? Заодно переименуйте кривую переменную или вынесите магическую строку в константу. По чуть-чуть, каждый день.
2. Технический бэклог: Не прячьте техдолг в
// TODO. Заводите реальные задачи в Jira/Trello. Если проблема не записана - её не существует.3. Правило 20%: Договоритесь с менеджером, что 20% времени спринта уходит на стабилизацию и рефакторинг.
Аргумент для бизнеса: «Если мы не сделаем это сейчас, через полгода добавление новой кнопки будет стоить нам в 3 раза дороже».
4. Code Review: Это ваш фильтр. Не пропускайте «грязный» код коллег (и свой тоже) только потому, что «нужно срочно».
💡Техдолг это нормально, если он осознанный. Иногда реально нужно выкатиться «вчера», чтобы проверить гипотезу. Но плохой разработчик забывает о долге, а хороший - планирует его выплату.
#cleanarch #techdebt #refactoring #quality #development #middle #management
👉 @developer_mobila
