Ответ
Чаще всего мешают:
- Legacy код с плохой архитектурой и отсутствием документации
- Нестабильные API бэкенда (меняющиеся контракты, неожиданные баги)
- Раздутые библиотеки, которые тянут лишние зависимости
- Фрагментация Android (разные версии ОС, кастомные прошивки)
- Слабые устройства (OOM, лаги на low-end гаджетах)
Пример:
// Вместо:
fun loadData() {
// 100 строк спагетти-кода
}
// Лучше:
fun loadData() = viewModelScope.launch {
repo.fetchData()
.onSuccess { updateUI(it) }
.onFailure { showError(it) }
}
Также раздражают бесконечные митинги и срочные правки в пятницу вечером :)