Adakah manfaat untuk menghapus pernyataan yang tidak digunakan dalam proyek VS (seperti dapat dilakukan dengan menggunakan Resharper), atau akankah VS secara otomatis menangani hal itu ketika membangun / menggunakan?
visual-studio
resharper
B. Clay Shannon
sumber
sumber
removing unused references
(DLL) dan semua jawabannyaremoving unused using statements
.Jawaban:
Tidak ada manfaat kinerja, jika itu yang Anda maksud.
Semua referensi dalam suatu majelis sepenuhnya memenuhi syarat; kompiler hanya menggunakan referensi yang Anda berikan dalam kode Anda untuk sepenuhnya memenuhi syarat pengidentifikasi, sehingga satu-satunya dampak dari referensi yang tidak digunakan dalam kode sumber Anda adalah sedikit penurunan keterbacaan (mengapa referensi ini ada di sini?), dan peningkatan waktu kompilasi yang sepele.
Dengan kata lain, IL yang dihasilkan sama persis dengan apakah Anda menghapus referensi yang tidak digunakan atau tidak.
sumber
using
referensi s atau DLL yang tidak digunakan (Reference Include
elemen file MSBuild,/reference:
argumen CSC). Saya ada dalam pikiran: Hapususing
s yang tidak terpakai dari Proyek Aplikasi Web. Itu adalah satu-satunya baris kode yang memasukkan banyak referensi DLL, jadi sekarang hapus saja. Seperti yang Anda katakan, membangun lebih cepat - lebih dari itu jika referensi adalah jalur UNC (CSC memeriksa semua jalur referensi). Kemenangan sepele 2: Kecepatan CI (skrip ambil semua DLL yang direferensikan) meningkat karena lebih sedikit file yang disalin misalnya dari server kontrol sumber untuk membangun server untuk menerbitkan server ke server aplikasi.Ya - Saya dapat memikirkan dua manfaat utama:
sumber
Menghapus kode yang tidak digunakan, hanya bagasi ekstra dan sulit untuk mengukur efisiensi yang diperoleh.
Menghapus kode yang tidak digunakan, menurunkan waktu kompilasi, saya mengerjakan proyek yang membutuhkan waktu 15 hingga 20 menit, ada banyak kode yang tidak digunakan. Menghilangkan kode yang tidak digunakan mengurangi waktu kompilasi hingga ~ 7 menit. Ini membuat perbedaan ketika ada banyak pengembang di tim, ini menghemat waktu semua orang untuk membangun dan menguji dengan cepat.
Jika Anda telah mengotomatiskan pengujian bangunan dan unit Anda, sekarang Anda telah menghapus tes unit yang tidak Anda butuhkan. sekali lagi ini mengurangi waktu yang dibutuhkan untuk menjalankan unit test. Baru saja meningkatkan efisiensi dalam proses manajemen Continuous Build Anda.
sumber