1

私は請負業者であり、多くの場合、プロジェクトに参加して頭を下げ、期限の機能を実装するだけです。多くの場合、私のペースは基本的なデザインのペースよりも速くなります。そのため、最終的な設計を待つ間に、予備的な方法でタスクを実行するための関数/メソッドを作成しなければならないことがよくあります。

適切な例として、現在、現在のデータベース設計には複雑すぎる方法でいくつかのレコードのデフォルトの並べ替えを実行する必要がありました(Java / Hibernateがサポートしているとは思わない場合を除いて、実際にはMySQLの「フィールド」関数を使用します)それ)。そこで、必要なデータベース設計作業が完了したら、レコードをアプリケーションレベルで並べ替えることができる関数を作成しました。この関数は、再実装するか、完全に回避することができます。

私の懸念は、必要なすべての設計が完了したら(一般的に、および/または上記のシナリオに関して)、不要な可能性のある関数/メソッドの痕跡を残したくないということです。デザインに付加価値を与えることもありますが、最終的には不要な間接層になることもあります。

私はこれについてどのくらい心配する必要がありますか?これを軽減するために何ができますか?通常、非常に短期間の請負業者であるため、「戦略パターン」などを実装する時間(または権限)がありません。これは、実際に全体的な設計を担当した場合の私の傾向かもしれません。

4

1 に答える 1

2

コードベースが進化するにつれて、ある程度の問題が予想されると思います。古い未使用のコードを体系的に削除しようとしても、すべてを削除することは困難です。削除できるシステム内の未使用のコードを見つけることは常に満足のいくものです。

強い型付けは、弱い型付けよりもはるかに優れた方法で型と使用法を追跡できるため、ここでは友だちです。したがって、これらの文字列データ型には近づかないでください。クリーンアップが難しくなります。

本当に巧妙なトリックは、コードカバレッジツールを同時に実行しているテストシステム上で、本番システムからの24時間分のトラフィックを再生できるかどうかです。これは通常、デッドコードの金鉱ですが、他の優先事項の中でも特に、このような大量のクリーンアップに対処する時間を見つけるのは難しい場合があります;)

于 2009-06-02T16:30:26.340 に答える