0

SimpleCommandというクラスがあります。これは、非常に単純な方法でICommandを実装する単一のファイルクラスです(そのため、この名前が付けられています)。

私はそれを私のプロジェクトのいくつかに置いていることに気づいています。(コードをコピーしてプロジェクトに追加するだけです。)

これらのプロジェクトはすべて同じソリューションであり、結果としてwpfアプリケーションになります。

私の質問は次のとおりです。DLLのサイズを少し増やす以外に、このコードをコピーすることの欠点は何ですか?

(私はそれをnugetパッケージに入れる作業の価値があるかどうかを判断しようとしています。)

注:私はこのコードを何年も変更しておらず、変更する予定もありません。

4

2 に答える 2

3

ここでの問題は、異なる名前空間に同じ名前のさまざまなクラスがあることではありません。

問題は、コードを複製していることです。これは本当に悪い考えです。

SimpleCommand を ABitMoreComplexCommand に拡張したい場合は、全体をコピーすることになります。

タイプごとにあるコマンドを別のコマンドと比較する必要がある場合、それを確実に行うことはできませんでした-実装する可能性のあるヒューリスティックにより、誤検知が発生する可能性があります

結論: 別のプロジェクトを作成し、そこにすべての再利用可能なコードを置き、コピーしないでください。

于 2013-02-01T19:08:45.453 に答える
2

コピーと貼り付けは、コードを再利用する最も非効率的な方法です。IMO です。このクラスに単純な bool プロパティを追加するとどうなるでしょうか? これまでにコピーして貼り付けた回数だけそれを行う必要があります。

代わりに、これらの再利用可能なパーツを 1 つの DLL にグループ化し、複数のプロジェクトから参照することをお勧めします。

于 2013-02-01T19:08:09.290 に答える