問題タブ [code-duplication]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oop - ロジックは似ているがクラスが異なる (重複を避ける)
XSD から生成された 4 つの同様のクラス構造があります。それぞれが異なるバージョンの API です。
問題は、これらすべての異なるクラス構造で動作するクラスがありますが、コードの大部分はすべての構造で同じです。すべてのクラスは XSD から生成されるため、クラスごとにインターフェイスを持つことはできません。それでも、コードベースから重複を削除したい...
ここで良い OO ソリューションは何でしょうか?
ありがとう。
refactoring - コードの重複が悪いことを同僚に納得させるにはどうすればよいですか?
私の同僚は、私たちが一緒に取り組んでいるプロジェクトに新しい機能を実装していました。彼は、同じプロジェクトから同様の機能の実装を含むファイルを取得し、そのコピーを作成して、すべてのグローバル宣言の名前を変更し、実装。そのため、名前の変更を除けばほとんど同じである2つの大きなファイルになりました。
私は、プロジェクトの保守が難しくなることを説明しようとしましたが、彼はそのような方法でプログラミングする方が簡単であり、コードを修正する理由がない場合は修正する理由がないと言って、何も変更したくありません。壊れた」。
そのようなコードの重複は悪いことだとどうやって彼に納得させることができますか?
これはこの質問に関連していますが、私は技術者(別のプログラマー)を対象とした回答にもっと興味があります。たとえば、本のような信頼できる情報源への参照は素晴らしいでしょう。私はすでに簡単な議論を試みましたが、成功していません。
c# - 重複するイベント処理コードをリファクタリングする方法
特定のオブジェクトが変更イベントをサブスクライブできるようにする次のクラスがあります。問題は、オブジェクトが同じ種類のものをサブスクライブできるようにするこの機能を必要とするクラスBとCもあることです。確かに、この動作をコピーして貼り付けたくはありません。
共通のベースクラスから継承することを検討しましたが、A、B、Cを含むすべてのクラスはすでに共通のBaseClassから継承しています。また、BaseClassから継承する他のクラスE、F、Gはこの動作を必要としないため、この動作をBaseClassに追加したくありません。
より良い解決策はありますか?
c++ - C++ シンボルのマングリングとエクスポート => コードの複製を許可しますか?
私たちのプロジェクトでは、次のようなものがあります。
私はそれをそのようなものに変更することを提案しました:
しかし、それは拒否され、私は次のように言われました。
その議論は、多くのコードの重複を許すほど強力ですか?
c# - 異なるパラメータで同じコードパスを処理する方法は?
基になるソースを変更する必要がない(そのレベルでは実際には「私の」コードではない、そうでない場合は変更したい)という状況に遭遇しましたが、2つのほぼ同じコードパスがありますが、私が使用している別々のタイプのデータ。
おそらく一方を他方にかなり簡単に変換できることを無視すると、同様の例は「Circle」オブジェクトになります。
一方では、Point
オブジェクトと半径があります。一方、私はCircle
オブジェクトを持っています。これらは両方とも同じ実際の円を表すことができますが、私は一方を別の円に変換することはできません。
次に、私のコードでは、次のようになります。
もちろん、Run
この例よりも多くのコードが含まれています。
Run
コードの重複を最小限に抑えるために、単一の関数にマージするにはどうすればよいですか?
common-lisp - 戦艦へのボートの配置(コードの重複の削除)
1Dバージョンが完成したので、(ゆっくりと)戦艦の2Dバージョンを作成しています。ボートの長さ、ボートの位置、およびボートが向いている方向を考慮して、ボートをボードに配置するために次の関数を作成しました。ただし、機能は醜いです。とても醜い。つまり、コードの複製には多くの方法があります。このコードの重複を減らすことができるいくつかの方法を誰かが指摘できますか?
編集:明確にするために、pos
は1から100までの数字で、10x102D配列のセルを示します。
c# - デリゲート/ラムダを使用してこの重複コードを回避する方法
私は、データ構造をループして辞書を構築する以下のコードを持っています。
このコードを複数回複製しましたが、唯一の違いは辞書へのキーです
したがって、以下のコードではたまたま次のようになります。
それが辞書のキーですが、それ以外の場合は次のとおりです。
あるいは単に
これは、ハードコードされた「バケット」メソッドの 1 つの例です。
私の目標は、キーを計算するための関数にコールバックまたは何らかの方法で渡すことができる汎用の「バケット」メソッドを持つことです。
これを行う最良の方法は何ですか??
c++ - C++ では、重複したコードを作成せずに、クラスのコピー コンストラクターと代入演算子に同じ機能を与えるにはどうすればよいですか?
重複の可能性:
コピー アンド スワップ イディオムとは何ですか?
C ++でコンストラクターと=演算子のオーバーロードをコピーします:共通関数は可能ですか?
コピー コンストラクターと代入演算子の本体に、実際にコードを重複させずに (関数ヘッダーを除いて) 同じコードを含める方法はありますか?
c++ - C++各派生クラスの異なる定数メンバー、関数を移動してアクセスの重複を削除する方法は?
一部の定数属性が異なる派生クラスがあります。すべての派生クラスで、属性を返す関数があります。get_x 関数を基本クラスに移動して重複を削除する方法はありますか? 私はこのスレッドと多くのグーグル検索を見てきましたが、私が望むものを正確に見つけることができませんでした: C++:派生クラスの異なる値で基本クラス定数静的変数を初期化していますか?
このように見えることを願っていますが、ベースで x が定義されていないため、これは機能しません。また、extern、静的 const 属性 x なども試しました。
ありがとう。
asp.net - Web サイト全体を複製する最良の方法は何ですか?
私はクライアントのために複雑なサイトを構築しました。クライアントは、これを複製してスキンを変更し、他の手段に使用できるようにしたいと考えています。
これを行う最善の方法は何ですか?すべてのファイルをコピーすることを懸念しています。これは、バグを 2 回修正し、改善を 2 回実装する必要があることを意味します。