Bir VS projesinde kullanılmayan kullanım ifadelerinin kaldırılmasının yararları var mı?


21

Bir VS projesinde kullanılmayan kullanım ifadelerinin kaldırılmasının herhangi bir yararı var mı (örneğin, Resharper kullanılarak yapılabilir), yoksa VS inşaat / dağıtım sırasında otomatik olarak ilgilenir mi?


1
İstediğiniz izlenimine sahip olmak removing unused references(DLL) ve tüm cevaplar hakkında removing unused using statements.
Răzvan Flavius ​​Panda

RăzvanPanda @: No, bu edilmektedir ifadelerini kullanarak; Eğer sonuncusunu R # ile yapabilirseniz, bu da oldukça düşük bir sıcaklık olacaktır.
B. Clay Shannon

Aight, ifadeye anlam uyacak şekilde düzeltmek.
Răzvan Flavius ​​Panda,

1
kullanılmayan DLL referanslarını en son R # ile kaldırabilirsiniz, ancak dinamik DLL referansları konusunda dikkatli olmanız gerekir, aksi takdirde çalışma zamanında bozulabilir.
Răzvan Flavius ​​Panda

Yanıtlar:


23

Demek istediğin buysa, performans avantajı yok.

Bir montajdaki tüm referanslar tamamen niteliklidir; derleyici tanımlayıcıları tam olarak nitelemek için kodunuzda sağladığınız referansları kullanır, bu nedenle kaynak kodunuzda kullanılmayan referansların tek etkisi okunabilirlikteki hafif bir düşüş (neden bu referans burada?) ve derleme zamanındaki önemsiz bir artıştır.

Başka bir deyişle, oluşturulan IL, kullanılmayan referansları kaldırsanız da olmasanız da tamamen aynıdır.


Kullanılmayan Kullanımları kaldırmanın dolaylı bir yararı olabilir . Bunu yaparsanız sırayla harici DLL'lere bir veya daha fazla referansın bir çözümden kaldırılmasına izin verirse, bu uygulamanın dağıtım boyutuna ve / veya başlangıç ​​zamanına faydalı olabilir.
weir,

1
Üretilen IL, kullanımları kaldırırsanız değişmez, bu nedenle herhangi bir şeyin nasıl etkileneceğini göremiyorum.
Robert Harvey,

Doğru: kullanılmayan usings veya DLL referanslarını eklerseniz IL değişmez ( Reference IncludeMSBuild dosya elemanı, /reference:CSC argümanı). Aklımdaydı: Kullanılmayanları usingbir Web Uygulaması Projesinden kaldırın . Bunlar, bir sürü DLL referansını dahil eden tek kod satırları olmuştu, bu yüzden şimdi bunları kaldırın. Dediğiniz gibi, referanslar UNC yolları ise (CSC tüm referans yollarını kontrol ederse) daha hızlı kuruyor. Önemsiz kazanç 2: CI'nin hızı (komut dosyaları referans verilen tüm DLL'leri alır), daha az sayıda dosya kopyalandıkça artar, örneğin sunucuyu uygulama sunucusuna / sunucularına yayınlamak için sunucu oluşturmak için kaynak kontrol sunucusundan kopyalar.
weir,

Kısa kod daha okunabilir bir koddur. Az daha fazla - bu fayda ve bu nedenle yapmaya değer.
niico

24

Evet - iki temel yararı düşünebilirim:

  1. Birincil fonksiyonel bir amaç ötesinde ad (ya da en azından hangi (özellikle resharper olmayanlar) gelecek okuyucular söyleyebilir bir kod dosyasının en üstünde, 'kullanma' ifadesi listesini (yani kod ayrıntı azaltmak için) vardı o kod dosyasına) İlgili . Bu listeyi aktif olarak eritirseniz, daha iyi bir sinyal mekanizması olarak işlev görebilir.
  2. Kullanılmayan ad alanlarının kaldırılması, yazarken metin düzenleyicinizdeki otomatik tamamlama adaylarının sayısını azaltır. Tamamlanan otomatik tamamlama listelerine güveniyorsanız, bu sizi "düz ve dar" tutmanıza yardımcı olacak ve yazma hızınızı artırabilir, çünkü istediğiniz otomatik tamamlama adayını biraz daha hızlı bulabilmeniz gerekir.

1
Ah, çok iyi noktalar, özellikle de 2. numara!
B. Clay Shannon

0

Kullanılmayan kodların kaldırılması, yalnızca fazladan bir bagaj sağlamak ve kazanılan etkinlikleri ölçmek zordur.

  • Kullanılmayan kodu kaldırma, derleme süresini azaltma, 15 ila 20 dakika süren bir proje üzerinde çalışıyorum, kullanılmayan kod ton var. Kullanılmayan kodların kaldırılması, derleme süresini ~ 7 dakikaya indirdi. Ekipte çok sayıda geliştirici olduğunda bu durum zorlaşıyor, bu da herkese hızlı bir şekilde inşa etmek ve test etmek için zaman kazandırıyor.

  • Yapı ve ünite testlerinizi otomatik hale getirdiyseniz, artık ihtiyacınız olmayan ünite testlerini kaldırdınız. Yine, bu, ünite testlerini çalıştırmak için harcanan zamanın azaltılmasıdır. Sürekli Yapı yönetim sürecinizde verimlilik artışı sağlandı.

    • Kullanılmayan kod, ikili dosyalarınızın ayak izi daha büyük olmasına neden olur. Daha küçük kod ayak izi almak, başlangıçta yükleme / başlatma için gereken süreyi azaltır. Ancak kazanımlar çok yetersiz ve öznel olabilir.

4
Bu soru genel olarak kullanılmayan kodlarla ilgili değil, kullanılmayan referanslarla ilgili
gnat

... bkz Cevap Nasıl : "sorusunu Oku dikkatle , ne. Özellikle , soran soru emin olun cevap öngörmektedir - ya bir alternatif ...?"
tatarcık
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.