Apakah mungkin untuk menonaktifkan deteksi kode rangkap di Intellij?

144

Apakah mungkin untuk menonaktifkan deteksi kode rangkap di Intellij?

Saya belum menemukan fitur ini berguna dan terus mengganggu saya.

zudduz
sumber

Jawaban:

201

Hanya tersedia di IntelliJ Ultimate:

Untuk menonaktifkan deteksi kode rangkap, buka

File → Pengaturan → Editor → Inspeksi → Umum → Fragmen kode duplikat

dan hapus centang kotak "Duplikat fragmen kode". duplikasi kode intellij

Vojtech Ruzicka
sumber
4
Opsi ini tidak tersedia dalam edisi komunitas IDEA.
Saikat
4
@takias deteksi kode rangkap sama sekali bukan fitur di edisi Komunitas. Ini hanya hadir dalam edisi Ultimate.
AER
2
Sebenarnya itu berfungsi setelah Anda menutup file yang Anda kerjakan dan buka kembali atau restart IDE setelah Anda menerapkan pengaturan ini
ACV
1
Tindakan yang disarankan harus menawarkan untuk membawa kami ke layar ini sehingga kami dapat menonaktifkan pemeriksaan kode ini lebih mudah.
Shadoninja
157

Tambahkan petunjuk ke kode Anda agar orang lain tahu maksud Anda:

@SuppressWarnings("Duplicates")
Max Barrass
sumber
3
Ini adalah jawaban teknis, Terima kasih
Yougesh
14
Solusi terbaik karena memungkinkan penindasan berperang di mana duplikasi disengaja.
user2120275
2
^ lakukan ini, Jangan nonaktifkan sepenuhnya. Kode duplikat adalah kode bau kecuali di beberapa tempat
Carson Graham
Apakah kamu bercanda? Tambahkan kode untuk mengkompensasi kekurangan IDE?
ACV
15

Ya, itu mungkin , tapi saya sangat menyarankan untuk tidak melakukannya!

Kode duplikat adalah bentuk utang teknis. Setiap kode duplikat yang mengandung bug berarti Anda sekarang memiliki bug yang digandakan - Anda kemudian menghadapi risiko bahwa ketika Anda memperbaikinya, Anda hanya akan memperbaikinya di satu tempat dan duplikat itu akan tetap ...

Jika peringatan duplikat kode mengganggu Anda, maka strategi terbaik untuk menghilangkannya adalah dengan menghapus duplikasi kode ... basis kode Anda dan pengelola masa depan akan berterima kasih untuk itu

Kevin Wright
sumber
40
OK, tapi kadang-kadang saya memiliki versi lama dan versi baru dari kelas yang sama. Ada duplikasi yang normal, saya tidak perlu peringatan. Itu hanya sangat mengganggu dan menyembunyikan banyak peringatan berguna lainnya. Pertanyaannya sah.
Florian F
3
Saya menemukan itu menyala keliru untuk unit test dengan pengaturan serupa. Kadang-kadang saya tidak bisa menghilangkannya bahkan jika saya mengubah tes cukup signifikan.
Julian Jocque
8
Ini tidak selalu sesederhana menyingkirkan semua duplikat! Misalnya di pengontrol web ada banyak kesamaan yang ditandai sebagai duplikat mereka bukan duplikat yang tepat. Manfaat memisahkan pengontrol Anda secara logis berguna dalam banyak hal dan itu hanyalah satu contoh. Pragmatis tidak murni mendapatkan proyek yang disampaikan dalam pengalaman saya.
Shawn Vader
5
Anda mengklaim itu mungkin namun Anda tidak menjelaskan caranya. Ada banyak situasi di mana tidak masuk akal untuk mencoba dan abstrak. Paling tidak tolong katakan "Ya,
begini
3
jawaban ini sama sekali tidak berhubungan dengan pertanyaan.
ACV
5

Jawaban ini mungkin sedikit tidak relevan, tetapi saya menemukan ini bermanfaat, Dari jawaban ini jika Anda ingin menonaktifkannya untuk blok kode tertentu, bukan seluruh metode atau kelas atau ide, maka tambahkan saja baris berikut sebelum blok kode itu

//noinspection Duplicates

Catatan: Anda tidak dapat memberikan komentar lain setelah baris ini.

Emdadul Sawon
sumber