Когда я начинаю писать код с нуля, у меня есть дурная привычка быстро писать все в одной функции, все время думая: «Я сделаю это позже более модульным». Затем, когда придет время, у меня будет работающий продукт, и любые попытки исправить его будут означать создание функций и необходимость выяснить, что мне нужно передать.
Хуже всего то, что становится чрезвычайно сложно перепроектировать классы, когда ваш проект почти готов. Например, я обычно планирую перед тем, как начать писать код, а затем, когда мой проект готов, я понял, что мог бы сделать классы более модульными и/или использовать наследование. По сути, я не думаю, что планирую достаточно, и у меня не более одного уровня абстракции.
Итак, в конце концов, я застрял в программе с большой основной функцией, одним классом и несколькими вспомогательными функциями. Излишне говорить, что это не очень многоразовое использование.
У кого-нибудь была такая же проблема и есть какие-нибудь советы, чтобы преодолеть это? Одна вещь, которую я имел в виду, это написать основную функцию с псевдокодом (без особых подробностей, но достаточно, чтобы увидеть, какие объекты и функции им нужны). По сути, подход «сверху вниз».
Это хорошая идея? Любые другие предложения?