2008-10-24 15 views
13

VS2008'in Resharper gibi yönergeleri kullanarak temizleme için temizleme ve sıralama işlevinin olduğunu biliyorum. Kodunuzun "temiz" olmasının yanı sıra gelecekte bulunmayabilecek ad alanlarına başvurma sorununu ortadan kaldırmanın yanı sıra, direktiflerin kullanıldığı "temiz" bir listenin sürdürülmesinin faydaları nelerdir?C# direktiflerini kullanarak "temiz" bir liste tutmanın yararları nelerdir?

Daha az kod? Daha hızlı derleme süreleri?

+0

Hmmm, birisi başlığımı düzenledi. Orijinal olan, "C# ifadelerindeki ifadeleri kullanarak gereksiz yere kaldırma konusunda takıntılı mısınız?" – Carl

+0

Doğruluk için "ifadeleri" "direktifler" olarak değiştirdim. İfadeleri kullanmak nihayetinde bir blokta atın. Direktifleri kullanmaktan bahsediyorsunuz. –

cevap

10

Benim için temel olarak daha az gürültü geliyor (artı Resharper'ı mutlu etmek!).

Derleme süresindeki herhangi bir iyileşmenin en az olacağına inanıyorum.

+0

Bu benim de düşüncem. – Carl

+3

Evet, Resharper'ı mutlu etmek için onlardan kurtuldum. :-) –

2

Benim için başlangıçta ifadelerin kullanılmasının temiz bir listesi bekleyeceği türlerin iyi bir şekilde anlaşılmasını sağlayabilir.

2

Birkaç yıl önce ReSharper'ı kurduğum (bir 18 proje çözümünde) derleme zamanında iyi bir kazanç gördüm. O zamandan beri sadece temiz tutmakla ilgili.

18

Her zaman yalnızca gereksinim duyduğunuz yönergelere sahipseniz ve her zaman bunları gerektiği gibi sıraladıysanız, kodun iki sürümüne geldiğinizde, hiçbir zaman alakasız değişiklikler görmezsiniz. Ayrıca, yönergelerin kullanıldığı düzgün bir kümeniz varsa, başlangıç ​​koduna bakacak olan herkes, yalnızca yönerge direktiflerine bakarak ne kullanacağı konusunda bir sert fikir edinebilir.

+0

Gerçekten değil. Üstte bulunan blokları çok fazla gürültü olarak görmezden geliyorum. –

+4

Her kullanım direktifinin kullanıldığını biliyorsanız, bunlar gürültü değildir. Bunları bir gürültü olarak kabul etseniz bile, onları kontrol altında tutmazsanız, farklı açılardan yanlış pozitifler verebilirler. –

+0

performans açısından, herhangi bir dezavantaj var mı? –

0

Derleme zamanı ve performansındaki avantajlardan bahsetmiyorum, ancak kullanım bildirimlerinizi en aza indirgemeniz durumunda ad alanı çarpışma olasılığı daha düşük. Birden fazla üçüncü taraf kitaplığı kullanıyorsanız, bu özellikle önemlidir.

7

Çalışma zamanı etkisi yok. Tamamen derleme zamanı. Potansiyel olarak etkiler şunlardır: Ad alanı çarpışmaları için

  1. Az şans
  2. Az ad ve olası türleri menüsünü kullanma dosyanın
  3. beklemek hangi
  4. Çok açık kod dosyasında "gürültü" kullanılmayanları kaldırmak ve Sıralama, dev'ler arasındaki ifadeleri kullanarak daha tutarlı olması anlamına gelir. Sadece düzeltmek için daha az aptalca bir şans.
7
  1. Daha az gürültü.
  2. Hangi türlerin kullanıldığına ilişkin beklentiyi temizleyin ("UI katmanım System.Net'e bağlıdır. Vay, neden?")
  3. Temizleyici başvurular: İfadeleri kullanmanın en düşük düzeyine sahipseniz, başvurularınızı temizleyebilirsiniz. Çoğu zaman, geliştiricilerin projelerine referans atmaya devam ettiklerini görüyorum, ancak artık ihtiyaç duymadıklarında bunları asla kaldırmazlar. Bir referansa ihtiyaç duyan herhangi bir şeye sahip değilseniz (ve kullanım ifadesi sayarsa), referanslarınızı temizlemenin önemi yoktur. (Neden bunu yapmak isterdiniz? Bileşenlere ayrıştırılan büyük sistemlerde, kullanılmayan yüklemeleri ortadan kaldırarak yapı bağımlılıklarınızı hızlandıracak.)
0

Tek bir derleme zamanı farkı var: bir başvuruyu kaldırdığınızda: Ancak kodunuzda hala bir kullanma yönergesi var, sonra bir derleyici hatası alıyorsunuz.Bu yüzden, yönergeleri kullanarak temiz bir listeye sahip olmak, kullanılmayan referansları kaldırmanın biraz daha kolay olmasını sağlar.

Genellikle derleyici kullanılmayan referansları kaldırır, ancak kodda bir kullanım olduğunda bunun çalışıp çalışmadığını bilmiyorum.

İlgili konular