Ответ
Время оценки сильно зависело от сложности задачи. Для типовых задач, вроде создания нового экрана по готовому дизайну, оценка занимала 15-30 минут. Я разбивал ее на этапы:
- Анализ требований и дизайна (Figma/Zeplin).
- Определение необходимых виджетов и состояния (Stateful/Stateless, нужен ли Provider/Riverpod).
- Проверка необходимости интеграции с API.
- Оценка времени на тестирование.
Для сложных задач, например, реализации сложной анимации с CustomPainter или интеграции нового нативного плагина, оценка могла занять до 1-2 часов. В это время входило изучение документации, поиск возможных подводных камней и планирование архитектуры.
Пример оценки для средней задачи:
- Верстка UI: 4 часа
- Подключение бизнес-логики (BLoC/Riverpod): 3 часа
- Написание unit/widget-тестов: 2 часа
- Буфер на непредвиденное (20-30%): 2 часа
- Итого: ~11 часов
Я всегда закладывал буфер, так как в мобильной разработке часто возникают нюансы с разными версиями ОС или устройствами.
Ответ 18+ 🔞
Ну, смотри, тут вообще история интересная. Когда я сидел и пытался понять, сколько времени займёт какая-нибудь фигня, всё зависело от того, насколько она мозговыносящая.
Для простых задач, где надо просто наклепать экран по готовому макету, я вообще не парился. 15-30 минут на оценку — и всё, поехали. Процесс был как по маслу:
- Глянул на дизайн в Фигме — понял, что там к чему.
- Прикинул, какие виджеты лепить и нужно ли тащить туда какой-нибудь Riverpod, чтобы состояние управлялось.
- Проверил, не нужно ли к бэкенду пристыковаться.
- Ну и заложил время, чтобы потом не орать, когда тестировать придётся.
А вот если задача была сложная... Ёпта, тут уже всё по-другому. Если нужно было какую-нибудь ебанутую анимацию через CustomPainter городить или новый нативный плагин пилить, то оценка могла растянуться аж на 1-2 часа. Потому что надо было в документации рыться, искать, где подвох спрятан, и думать, как эту хрень в архитектуру впихнуть, чтобы потом не пришлось всё переделывать. Волнение ебать просто накрывало.
Вот, например, как я оценивал задачу средней тяжести:
- Верстка UI: 4 часа.
- Подключение бизнес-логики (BLoC/Riverpod): 3 часа.
- Написание unit/widget-тестов: 2 часа.
- Буфер на непредвиденное (20-30%): 2 часа. Без этого никак — доверия ебать ноль ко всему, что работает с первого раза.
- Итого: ~11 часов.
Я всегда этот буфер закладывал. Потому что в мобилке терпения ноль ебать — то на одной версии Android глюк вылезет, то на старом айфоне всё поплывёт. Удивление пиздец каждый раз новое. Так что лучше заранее время на пожарные работы зарезервировать, чем потом в панике всё доделывать.