Пока ты можешь делить действие на блоки, дели. Полнейшая императивка.
Задание: пойти на кухню и взять сок из холодильника.
1 - пойти на кухню
2 - открыть холодильник
3 - взять сок
Пойти на кухню делится на "проложить курс" и "сделать шаг в направлении".
Открыть холодос это надо взять за ручку, потянуть, сделать шаг назад, чтоб дверца не задела.
А шаг разделяется на поднятие ноги, перенос центра тяжести, рефлекторное балансирование...
Ну и так далее. Сначала реализуешь модули простейших действий, потом модули, которые это объединяют в ходьбу, открытие холодоса, взятие сока, а следом и в нужную тебе функцию
Воооот! А ещё раньше, на первом уровне, надо вспомнить, есть ли там сок и надо ли тратить силы.
В случае с простыми вещами сразу вся картина видна, а если что-то сложное и всё охватить не получается, тут то и начинается засада.
Например, сейчас делаю систему по учёту рабочего времени, денег и куче других плюшек. Делаю быстро, но. Только потому что она уже отработана от и до за 10 лет.
А вот, например, анализатор фс уже 6 раз переделываю и всегда упираюсь во что-то. Причина простая - делаю наскоком и на основании только своего опыта