Может стоит при постройке прототипа делать сверху вниз?
Я например делаю так: пишу шаблон конечного кода, так так будто те фунцкии которые я в нем использую существуют.
Вот эскиз того как я при этом думаю:
Вот тут мы получаем это, а потом передаем сюда, а, нет наверное лучше без параметра, тогда в конструктор вот тут. А потом в зависимости от результата .. если значение 1 то .. а если ноль то .. так, я не хочу чтобы у меня тут были условия. Пусть тогда функция сразу делает, то что надо в зависимости от результата. Тогда переименуем функцию, чтобы было ясно как она работает. Так, ага, все красным подчеркнуто - ну да, щас заимплементим и будет конфетка."
И тогда остается наполнить эти функции жизнью.
У меня был даже интересный опыт, я делал заказ на добавление функции во фреймворк. Я им дал код того как я бы использовал эту новую функцию у себя в коде. Им по факту оставалось только заставить мой код работать. На удивление они очень быстро справились, и не перезванивали уточнаяя детали (как это обычно бывало).
T.e. код служил спецификацией. В этом подходе всего
два шага:
- "Я хочу чтобы мой конечный код выглядел вот-так"
- "Волшебник, сделай так, чтобы оно заработало."
P.S. Вот еще рекомендую просмотреть (хотя бы часть 2 и 3):
Паттерны для масштабируемых JavaScript-приложений