私はコンピュータサイエンスの学生であり、コースワーク用に比較的大きなプログラム(750〜1500行)を書き始めたところです。これまでは、合理的なレベルのモジュール化とオブジェクト指向設計でうまくいくことが可能でした。ただし、割り当て用にもっと複雑なコードを書いているので、より良いコードを書く方法を学びたいと思います。
プログラムのアーキテクチャを可能な限りモジュール化できるように設計するときに、どのようなことを探すべきかを学ぶためのリソースの方向を誰かに教えてもらえますか?
私はコンピュータサイエンスの学生であり、コースワーク用に比較的大きなプログラム(750〜1500行)を書き始めたところです。これまでは、合理的なレベルのモジュール化とオブジェクト指向設計でうまくいくことが可能でした。ただし、割り当て用にもっと複雑なコードを書いているので、より良いコードを書く方法を学びたいと思います。
プログラムのアーキテクチャを可能な限りモジュール化できるように設計するときに、どのようなことを探すべきかを学ぶためのリソースの方向を誰かに教えてもらえますか?
この質問は以前ここで尋ねられましたが、答えは一般的にそのような本はありません. その理由は、問題に適用できる「ルール」がないためです。経験を重ねる必要があります。私の経験では、複数のライブラリを明確な単一指向の依存関係グラフで作成する必要がありますが、それ以上のことはコミットしたくありません。
Robert Matin によるクリーンなコードを読む
martin fowler による refactoring は、過去 2 年間に oo、パターン、テスト駆動開発、および一般的なソフトウェア エンジニアリングについて読んだ 20 冊ほどの本の中で、最も役に立った本です。特に匂いに関するセクションは、より複雑なコードを開発する際に何を避ける必要があるかを理解するのに役立ちます。
モジュラー アプリの開発や、後でアプリをモジュラーに変更する際に、作業を容易にする重要な要素が 1 つあります。それはDependency Injectionです。
モジュールは、アプリケーション自体について何も知る必要なく、タスクを実行するために必要なデータを受け取るため、他のすべてのものとは別に動作することができます。
コンテキストに依存しない高品質の DI コードを作成するには、多少の経験が必要になる場合があります。そのため、できるだけ早くそれについて考え、実験を開始することが重要です。