Ada pemeriksaan "Deklarasi yang tidak digunakan" yang dapat menemukan semua kode yang tidak digunakan di Intellij Idea. (lihat pertanyaan ini ) Tetapi saya ingin menemukan semua kelas yang tidak digunakan, bukan metode, variabel, dll. Hanya kelas. (sulit untuk hanya menemukan kelas dalam 3000 daftar hasil). Bagaimana saya bisa melakukan itu?
java
intellij-idea
dead-code
ceri
sumber
sumber
Jawaban:
Pengaturan akan muncul
Pengaturan ditutup
Pencarian dimulai
sumber
Saya tidak berpikir ini bisa dilakukan. Saya menduga fitur ini sengaja ditinggalkan dari IDE karena tidak dapat digunakan dengan aman seperti refactorings "hapus XXX yang tidak terpakai" lainnya.
Deklarasi yang tidak terpakai yang dicari IDEA (dan AFAIK, NetBeans) adalah untuk anggota pribadi dan variabel lokal: hal-hal yang tidak dapat diakses, bahkan secara dinamis, dari luar kelas atau ruang lingkup itu. (Yah, setidaknya tanpa melakukan hal-hal dengan Refleksi atau peretasan JVM yang tidak seharusnya Anda lakukan.) Tidak peduli apa yang dilakukan kode luar dengan perpustakaan Anda, itu tidak akan menyebabkan hal-hal itu digunakan, karena cakupannya terbatas dan IDE dapat melihat semuanya. Kompilator dapat menentukan ini hanya dengan melihat kode Anda.
Untuk kelas, meskipun mereka tidak memiliki
public
akses, mereka dapat direferensikan secara dinamis denganClass.forName()
, dan ini sebenarnya terjadi dalam kode langsung. Jadi, meskipun tampaknya tidak digunakan dalam kode proyek Anda, mereka mungkin digunakan tergantung pada apa yang Anda atau kode eksternal yang dijalankan oleh pustaka Anda. Jadi, IDE tidak dapat menjamin bahwa menghapus class tersebut tidak akan mengubah perilaku yang dapat diamati secara eksternal.Itulah mengapa menurut saya IDEA tidak memberikan perilaku ini: mungkin memberikan pengguna harapan keamanan yang salah, dan menghapusnya bukanlah pemfaktoran ulang yang aman.
sumber
Mungkin Anda harus memeriksa
Unused Symbol
pemeriksaan dengan pengaturan berikut:sumber
Saya tidak yakin apakah ini akan menjawab pertanyaan Anda tetapi saya menggunakan alat di masa lalu seperti Fortify untuk menjalankan aturan peninjauan kode pada proyek, yang secara tepat menunjuk ke impor yang tidak digunakan, kode mati, kelas yang tidak digunakan, dll. Ini adalah perangkat lunak berbayar tetapi saya Saya yakin akan ada beberapa plugin / software gratis yang akan tersedia untuk hal yang sama.
sumber