
Это кусочек задачи для интернет-магазина.
Нужно анализировать прайс-листы: загружать прайс и выгружать уже с готовыми итогами и остатками, продажами за последний период, чтобы было понятно, сколько заказывать у этого поставщика.
То есть не вручную проверять остатки, а выгрузить уже готовый прайс и отдать его поставщику.
Задача состоит из нескольких блоков. Здесь, на видео, представлен один кусочек от момента загрузки файла, когда пользователь нажимает кнопку «Загрузить» до сигнализирования пользователю, что файлы загружены.
У пользователя это происходит практически мгновенно: он выбрал файлы, загрузил, и тут же отобразилось, что произошло, загружены ли файлы или нет. А для разработчиков это алгоритм.
Нужно продумать алгоритм действий:
- что будет делать программа,
- как она обработает файлы,
- куда она их сложит,
- как она их проверит,
- что она будет с ними дальше делать, прежде чем вернет ответ пользователю.
Алгоритм тесно связан с бизнес процессом: как будет пользователь использовать эти файлы, что он будет с ними делать, нужно ли хранить.
Алгоритмы, как вы видите, достаточно сложные. Даже этот кусочек работы в человеческой памяти держать не получится, необходимо фиксировать письменно. В алгоритме несколько шагов, не один десяток, на бумаге, вот в этих блоках, обозначены ключевые моменты.
Когда разработчики определяют стоимость работ и длительность их, они ориентируется на свой опыт. Уже что-то подобное делали, оно состояло из таких вот элементов, оно заняло столько-то времени, и во время реализации встретились вот такие-то сложные моменты.
Исходя из этого расклада разработчик знает примерно, сколько займет времени задача.
Конкретно этот кусочек загрузки файлов занял порядка 7 часов. От осмысления задачи до отладки и корректной работы на такой платформе, как у заказчика. Не забываем, что к этому кусочку примыкают и другие:
- Внешний вид загрузки.
- Отрисовка загруженных файлов.
- Обработка (анализ) прайсов.
- Выгрузка итоговых прайсов.
И они занимают времени поболее.