Intellijで重複コード検出を無効にすることは可能ですか?


144

Intellijで重複コード検出を無効にすることは可能ですか?

この機能が有用であるとは思っていませんが、気が散ります。

回答:


201

IntelliJ Ultimateでのみ利用可能:

重複コードの検出を無効にするには、

ファイル→設定→エディタ→インスペクション→一般→重複したコードフラグメント

[重複するコードフラグメント]チェックボックスをオフにします。 intellijコードの複製


4
このオプションはIDEAコミュニティエディションでは使用できません。
サイカット2017年

4
@takias重複コード検出は、コミュニティエディションの機能ではありません。Ultimateエディションにのみ存在します。
2017年

2
実際には、作業中のファイルを閉じて再度開くか、これらの設定を適用した後にIDEを再起動すると機能します
ACV

1
これらのコードチェックを簡単に無効にできるように、提案されたアクションによってこの画面に移動できます。
Shadoninja

157

コードにヒントを追加して、他の人があなたの意図を知るようにします。

@SuppressWarnings("Duplicates")

3
これは技術的な回答です。ありがとう
Yougesh 2017

14
複製が意図的に行われている場合に警告を抑制できるので、最適なソリューションです。
user2120275

2
^これを実行し、完全に無効にしないでください。重複するコードは、一部の場所を除いてコードのにおいです
カーソングラハム

冗談でしょ?IDEの不足を補うコードを追加しますか?
ACV

15

はい、それは可能ですが、私は強くお勧めしません!

コードの重複は、技術的負債の一種です。バグを含む重複したコードは、重複したバグが存在することを意味します-修正すると、1か所だけで修正し、重複が残るリスクがあります...

重複するコード警告が邪魔になる場合、それらを取り除くための最良の戦略は、コードの重複削除することです...コードベースと将来のメンテナーはそれを感謝します


40
わかりましたが、同じクラスの古いバージョンと新しいバージョンがある場合があります。重複は正常ですが、警告は必要ありません。これは非常に煩わしく、他の多くの有用な警告を隠します。質問は正当です。
フロリアンF

3
同様の設定の単体テストで誤って起動することがわかりました。テストを大幅に変更しても、それを解消できない場合があります。
ジュリアンジャック2018年

8
常にすべての重複を取り除くほど単純ではありません!たとえば、Webコントローラーには、重複としてフラグを立てる類似性がたくさんあります。これらは完全な重複ではありません。コントローラーを論理的に分離することの利点は、多くの点で役立ちますが、これはほんの一例です。実用的ではない純粋主義者は、私の経験でプロジェクトを提供します。
Shawn Vader

5
あなたはそれが可能であると主張していますが、それでもその方法を説明していません。抽象化しようとしても意味がない状況はたくさんあります。少なくとも「はい、ここに方法はありますが、……」と言ってください
Dilapidus

3
この回答は質問とはまったく関係ありません。
ACV

5

この答えはあまり関係ないかもしれませんが、私はこれが役に立ったと思いました。この答えから、メソッドまたはクラス全体やIDE全体ではなく特定のコードブロックに対して無効にしたい場合は、そのコードブロックの直前に次の行を追加します。

//noinspection Duplicates

注:この行の後に他のコメントを入れることはできません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.