Stylecop ve FXcop


97

Stylecop, FXcop'un yerini aldı mı? Visual Studio 2008 ile hangi ürünü kullanmalıyız?

Yanıtlar:


172

Stylecop, kaynak kodu seviyesinde çalışan bir stil analiz aracıdır. Öncelikle, yönetilen projelerin daha büyük yönetilen yazılım dünyasında tutarlı kalmak için kullanabileceği tek bir ortak stil sağlamak için var. Öncelikle kutsal savaşlardan kaçınmak için üslupla ilgili kararlar alır (sonuçta, stil neredeyse her zaman doğası gereği özneldir). StyleCop'un tüm kurallarını seven biriyle tanıştığımı sanmıyorum, ama sorun değil . Bu, StyleCop'un var olan çok çeşitli stil kuralları arasında genel olarak iyi bir uzlaşma olduğu anlamına gelir. (Eğer stylecop kuralları basitçe etkinleştirmenin / devre dışı bırakmanın ötesinde oldukça özelleştirilebilir olsaydı, aracın tüm amacını bozardı.)

FxCop ise, yönetilen montaj düzeyinde çalışan statik bir analiz aracıdır. Kod öğelerindeki öznitelikleri görebildiğinden öznitelikler aracılığıyla yön verilebilir, örn. Sözdizimsel düzeyden farklı olarak "ikili" düzeyde (olduğu gibi) görülebilen sorunları algılar.

Sorunuzu yanıtlamak için StyleCop, FxCop'un yerine geçmez ve FxCop, stylecop'un yerini almaz. Kodunuz için gerçek bir fayda sağlayabilecek iki farklı amaca sahip iki farklı araçtır.

(AKA, ikisiyle de koşuyorum. :))


Birinin algılayabileceği şeylerle diğerinin algılayabileceği şeylerin birkaç örneği:

StyleCop ihlalleri aşağıdakilerle ilgili uyarıları içerebilir: Whitespace, Formatting, xml-comments aracılığıyla genel yöntem dokümantasyonu, bir sınıf içindeki yöntem tanımının sırası.

FxCop ihlalleri aşağıdakilerle ilgili uyarıları içerebilir: Küreselleşme, sıkı bağlantı, döngüsel karmaşıklık, potansiyel boş başvurular.


16

stylecop, C # kaynak kodunuz üzerinde çalışır. fxcop herhangi bir .net dilinden derlenmiş kodunuza bakar.


11

FxCop / StyleCop'a bir alternatif veya iyi bir tamamlayıcı , ticari araç NDepend'i kullanmak olacaktır . Bu araçla LINQ Sorguları (yani CQLinq) üzerinden Kod Kuralı yazılabilir . Sorumluluk reddi: Ben aracın geliştiricilerinden biriyim

Varsayılan olarak 200'den fazla kod kuralı önerilmiştir, bunlar tasarım , mimari , kod kalitesi , kod evrimi , adlandırma kuralları , ölü kod , .NET Fx kullanımını içerir ...

CQLinq, Visual Studio'da canlı olarak doğrulanabilen veya derleme işlemi sırasında doğrulanabilen ve bir HTML / javascript raporunda rapor edilebilen kod kuralları yazmaya adanmıştır .

CQLinq'in FxCop veya StyleCop'a göre gücü, bir kod kuralı yazmanın ve hemen sonuç almanın kolay olmasıdır . Tesisler, eşleşen kod öğelerine göz atmak için önerilmiştir. Somut olarak bu şöyle görünür:

CQLinq kod kuralı


6

FXCop, yönetilen kod derlemelerinizin statik kod analizini yapar. Bunu, çalışma zamanında sorunlara neden olacak veya geliştiricinin kodun nasıl çalışacağına inandığını (ulaşılamayan kod) etkileyecek sorunları bulma olarak düşünün.

StyleCop, kodunuzun yapısını metin açısından analiz eder. Bunu, geliştirme ve tasarım deneyiminizi etkileyecek sorunlar olarak düşünün (Biçimlendirme, adlandırma kuralları, belgeler)

İkisi de ÇOK değerli araçlardır ve ikisini de kullanmalısınız, ancak farklı sorunlara odaklanırlar.


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.