問題タブ [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.

0 投票する
9 に答える
1615 参照

refactoring - 1 つのファイルでコードの重複を排除する

悲しいことに、私が最近取り組んでいるプロジェクトには、単一のファイル内であっても大量のコピー アンド ペースト コードが含まれています。単一ファイル内の重複またはほぼ重複を検出できるツールまたは手法はありますか? 私は Beyond Compare 3 を持っており、別々のファイルを比較するのにはうまく機能しますが、単一のファイルを比較するには途方に暮れています。

前もって感謝します。

編集:

素晴らしいツールをありがとう!私は間違いなくそれらをチェックします。

このプロジェクトは ASP.NET/C# プロジェクトですが、Java を含むさまざまな言語を扱っています。重複を削除するのに最適なツール (どの言語でも) に興味があります。

0 投票する
5 に答える
824 参照

java - Javaオブジェクトのリストから各オブジェクトのプロパティのリストを取得するときにコードの重複を防ぐ

私はこのように見えるいくつかのオブジェクトを持っています:

これらのオブジェクトのいずれかのリストを取得して、特定のプロパティのリストを取得できるようにしたいと思います。プロパティごとに関数を作成する場合、これは簡単な操作ですが、理解しているように、コードを何度も複製することはお勧めできません。

したがって、どちらのオブジェクトの任意のプロパティに対しても、次のようなことができるようにしたいと思います。

私はジェネリックでこれをやろうとして頭を悩ませてきました。これが可能かどうかさえわかりませんが、私が理解しているように、Javaプログラミング言語を使用すると多くの魔法のようなことができます。

0 投票する
4 に答える
406 参照

f# - F# でのコードの重複の回避

float リストを Vector3 または Vector2 リストに変換しようとする 2 つのコード スニペットがあります。アイデアは、リストから一度に 2/3 の要素を取得し、それらをベクトルとして結合することです。最終結果は一連のベクトルです。

コードは非常によく似ていますが、共通部分を抽出する方法がないようです。何か案は?

0 投票する
9 に答える
4272 参照

vb.net - VB.NET コードの重複をチェックするツールはありますか?

「コピー アンド ペースト」コーディングがどれだけあるかを簡単に把握したいと思います。C# / Java でこの種のことをチェックするためのツールはたくさんあります。VB.NET でうまく動作するツールはありますか?

(私は多くの繰り返しコードのように見えるものを見てきましたが、それを整理するためのケースを作るのに役立ついくつかの数字を取得したいと考えています)


進行状況を更新します。

シミアンを試してみました。

Clone Doctorは VB.NET をサポートしていません (C# と VB 6 およびその他多数のみ)
2010 年 10 月: CloneDR がサポートする言語に VB.net が追加されました

Clone Detective for Visual Studioは C# のみをサポートします

SolidSDD - ソース コード重複検出ツールは、C、C++、C#、および Java のみをサポートします

DuplicateFinderはオープン ソースですが、その他の点では Simian と非常によく似ています。たとえば、テキスト行でのみ機能します。

ConQAT - Continuous Quality Assessment Toolkit には、VB.NET で動作するクローン検出機能があるようです(まだ試していません) 。

Gendarmeは FXCop に少し似ており、AvoidCodeDuplicatedInSameClassRuleルールがあります。これは、テキスト レベルでの作業の問題を​​回避するため、非常に有望に見えます。 試してみたところ、これまでのところ最良の解決策ですが、より広い範囲で検索しないのは残念です。


この質問が重複していると主張する前に、 C#でうまく機能する多くのツールが VB.NET ではうまく機能ないため、他の質問がVB.NETに対応していることを確認してください。(ただし、この質問が実際に重複していても驚かないでしょう)

0 投票する
1 に答える
819 参照

code-duplication - チームの全員に電子メールで送信できる優れたHTMLレポートをSimianに作成させるにはどうすればよいですか?

重複コードの問題がどれほど大きいかを見つけようとしているので、見つかったすべての重複をリストしたチームの全員に素敵なレポート(HTML、PDF、または単語)をメールで送信できるようにする必要があります。

このようなレポートを作成するにはどうすればよいですか?(この段階では、問題の範囲を特定するのに役立つ1つのアドホックソリューションを探しています)

(私たちのコードベースはVB.NETにあり、私はWindows 7で実行しています)

0 投票する
13 に答える
19684 参照

refactoring - どの程度の重複コードを許容できますか?

最近のコード レビューで、クラス内に数行の重複したロジック (15 行未満) を見つけました。私がコードのリファクタリングを作者に提案したとき、彼はコードはその方が理解しやすいと主張しました。コードをもう一度読んだ後、重複したロジックを抽出すると可読性が少し損なわれることに同意する必要があります。

DRY はガイドラインであり、絶対的なルールではありません。しかし、一般的に、DRY の名の下に可読性を損なうことを厭いませんか?

0 投票する
4 に答える
20068 参照

code-analysis - コピー アンド ペースト コードを自動的に検出するツールはありますか?

一連のファイルの中からコピー アンド ペースト コードを自動的に検出できるツールはありますか?

等しい文字列を検索するだけのスクリプトを書くことを考えていましたが、そのようなスクリプトはほとんど無関係な等値を見つけてしまいます。(などprivate final static ...)。

0 投票する
5 に答える
7849 参照

java - Javaで重複したコードを削除する

異なる API クラスを拡張する 2 つのクラスがあります。2つのクラスにはいくつかの重複したメソッド(両方のクラスで同じメソッドが繰り返されています)があり、この重複を削除する方法は?

編集

ApiClass と AnotherApiClass の両方が私の管理下にありません

0 投票する
1 に答える
1483 参照

wpf - WPFスタイルをパラメーター化する方法は?

WPFコードの重複を削除する最も簡単な方法を探しています。

以下のコードは、3つのライトを備えた単純な信号機です- Red、、。これらの3つの値のいずれかを取る1つの列挙型プロパティを持つViewModelにバインドされます。AmberGreenState

3つの省略記号を宣言するコードは、非常に重複しています。次に、アニメーションを追加して、各ライトがフェードインおよびフェードアウトするようにします。スタイルがさらに大きくなり、重複が悪化します。

ライトの動作を説明するリソースで単一のスタイルを使用し、それを「赤」、「琥珀」、「緑」のライトに3回使用できるようにState、引数を使用してスタイルをパラメーター化することは可能ですか?Color

0 投票する
3 に答える
160 参照

c# - このコードの重複を削除する方法はありますか

私は次のような方法を持っています:

そして、私は次のような別の方法を持っています:

プロパティ名だけが異なるため、これを統合する方法はありますか?