コードをゼロから書き始めると、すべてを 1 つの関数にすばやく書き込んでしまうという悪い癖があります。その後、製品が動作するようになり、それを修正しようとすると、関数を作成し、何を渡す必要があるかを把握する必要があります。
プロジェクトがほぼ完了したときにクラスを再設計することが非常に困難になるため、最悪の事態になります。たとえば、通常、コードを書き始める前に計画を立てます。プロジェクトが完了したときに、クラスをよりモジュール化したり、継承を使用したりできたはずだと気づきました。基本的に、私は十分な計画を立てていないと思います。また、1 レベル以上の抽象化も行っていません。
結局、私は大きなメイン関数、1 つのクラス、およびいくつかのヘルパー関数を含むプログラムに行き詰まっています。言うまでもなく、再利用性はあまり高くありません。
誰かが同じ問題を抱えていて、これを克服するためのヒントはありますか? 私が念頭に置いていたことの 1 つは、メイン関数を疑似コードで作成することでした (詳細はあまりありませんが、必要なオブジェクトと関数を確認するには十分です)。基本的にトップダウンのアプローチです。
これは良い考えですか?他の提案はありますか?