Тема обсуждалась здесь.
Как держать в голове проект по программированию над которым работаешь не каждый день?
Изначально ХОРОШО ВСЁ ПРОДУМАТЬ, а потом уже писать.
С того момента пришли в голову новые мысли - но суть в общем такая же - разбивать на мелкие подзадачи, причем по возможности такие, чтобы сделал функцию - и можно забыть о том, что внутри - а помнить и записать только входные выходные параметры.
Проблема в чем - люди часто увлекаются процессом (он тоже приятный) и не продумывают в достаточной мере архитектуру - в результате на половине проекта обнаруживаются непреодолимые грабли и необходимость переписать всё с самого начала. А после того как всё хорошо продумано - может расхотеться писать - поскольку уже скучно. )))
В любом случае - успехов! Напишите как что получается.