Muhtemelen peşinde olduğunuz şeyi elde etmenin en iyi ve en kolay yolu, sizi doğrudan ölü koda ve kullanılmayan üyelere bulmak ve götürmek için Visual Studio ile yerleşik kod analiz aracını kullanmaktır.
Bu amaçla, yeni bir kod analizi kural setleri dosyası (Via oluşturulan File-> New-> Dosya emin olarak, Genel seçildi sol bölmede ve bulmak için aşağı kaydırma Kod Analizi Kural Set ardından aranması ve, bunu bir dosya adı vererek aşağıdaki kuralları seçerek). Kullanmak için .ruleset uzantılı yeni bir dosyaya kopyalayıp yapıştırabileceğiniz kural kümesi dosyasının içeriği için aşağıya bakın.
Bir kural kümesi dosyası verildiğinde, Çözüm Gezgini panelinde bir proje dosyasına sağ tıklayıp Özellikler'i seçebilirsiniz . Proje özellikleri pencerelerinde, sol paneldeki Kod Analizi sekmesine tıklayın ve ardından .ruleset dosyasının konumuna göz atmak için Aç'a tıklayın . Bir çözüm dosyasının özelliklerine giderseniz (bir proje dosyasının aksine), çözümdeki her proje için kod analizi dosyasını tek bir yerde ayarlayabilirsiniz ( Kod Analizi Ayarları altında ve oradaki açılır menüyü kullanarak seçim yapmak için Kural kümesi dosyası NOT: Bu özellikler penceresindeki açılır menüde görünmesi için daha önce kural kümesi dosyasına göz atmış olmanız gerekir).
Daha sonra projeler / çözüm üzerinde kod analizini çalıştırmanız yeterlidir ( Çözüm Üzerinden Kod Analizini Çalıştır -VEYA- Alt + F11 ) ve bulduğu herhangi bir başvurulmamış yöntem veya kullanılmayan üyeler uyarı olarak geri gelecektir. Hatta kendisinin başka hiçbir yerde referansı olmayan bir yöntemle referans verilen yöntemleri bulacaktır.
Ancak dikkatli olun, ölü kod için kod analizinin sizi yanlış yönlendirmesinin yollarından biri, referansın yalnızca temsilciler aracılığıyla yöntemi çağırarak 'gizli' olması ve tabii ki yansıma olabilir.
Özellikle ölü kodu tespit etme kuralları şunlardır:
- Başka herhangi bir koddan çağrılmayan özel yöntemler (CA1811)
- Kullanılmayan yerel değişkenler (CA1804)
- Kullanılmayan özel alanlar (CA1823)
- Kullanılmayan parametreler (CA1801)
- Başka herhangi bir koddan (CA1812) başlatılmayan dahili sınıflar.
- Bitsel VEYA sınırlı anahtarda (C6259) ölü kod
Aşağıda, kolaylık sağlamak için yukarıdaki adımları izleyerek sahip olabileceğiniz .ruleset dosyasının içeriği bulunmaktadır. Aşağıdaki XML'yi kopyalayabilir, notepad ++ 'a yapıştırabilir, .ruleset uzantısıyla bir yere kaydedebilir , göz atabilir ve yukarıda açıklandığı gibi kullanabilirsiniz:
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Dead Code Rules" Description=" " ToolsVersion="12.0">
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1801" Action="Warning" />
<Rule Id="CA1804" Action="Warning" />
<Rule Id="CA1811" Action="Warning" />
<Rule Id="CA1812" Action="Warning" />
<Rule Id="CA1823" Action="Warning" />
</Rules>
<Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
<Rule Id="C6259" Action="Warning" />
</Rules>
</RuleSet>