Araç desteğiyle .NET'te tek bir kodlama standardı nasıl sağlanır


14

Muhtemelen, temel durum herkese aşinadır. Ekibinizdeki belirli kodlama standartlarını kabul ettiniz ve şimdi herkesin bunları takip etmesini sağlamanın zamanı geldi.

Bazıları yoğun eşleştirilmiş programlama yoluyla, bazıları ise kodlama standartlarının bir listesini tutar ve manuel bir inceleme yapar. Diğerleri, kodlama standartlarının uygulandığından emin olmak için Visual Studio'nun statik kod analiz aracını bile kullanır.

Kodlama standartlarını sağlamak için en iyi uygulamalarınız nelerdir? Hangi araçları kullanıyorsunuz - her geliştiricinin bilmesi gereken bazı temel araçlar var mı? Kodunuzun standartlaştırılmasını geliştirme araçlarınıza nasıl entegre edersiniz?

Yanıtlar:


15

StyleCop (artık Resharper için StyleCop) yaygın olarak C # kod tabanlarında kodlama stili kurallarını uygulamak için kullanılır.

CI derlemenize entegre edilebilir ve herhangi bir ihlal ortaya çıkarsa derleme hatalarına neden olabilir.


Nasıl kullanılacağı hakkında daha fazla bilgi var mı? Her taahhütten önce stil kontrolü yapmak istiyorum. Bunun için CLI'ye ihtiyacım var. Var mı? Alakalı bir bilgi bulamadım.
FreeLightman


@R. - yalnızca bir tanesi StyleCop kurallarını özelleştirebilseydi. Oh, bekleyin ...
Oded

@R. - kendi kurallarınızı da yazabilirsiniz.
Oded

FWIW, github'daki benioku dosyasından: "Çekme istekleri kabul edilmeye devam edecek olsa da, bu projede büyük bir gelişme yapılması olası değildir. StyleCop tarafından kullanılan özel C # ayrıştırıcısını korumak gittikçe zor ve verimsizdir."
paslı

6

İlk olarak, kodunuzu sürekli olarak oluşturan uygun bir derleme sunucunuz olduğundan emin olun. TFS veya Jenkins / Hudson + Msbuild iyi seçeneklerdir. Bu derleme sunucusunda elbette testleri çalıştırırsınız ve ayrıca sözdizimi denetleyicilerinin yanı sıra statik kod analizini de çalıştırabilirsiniz.

Statik kod analizi için FxCop veya Jandarma kullanmanızı öneririm . Her ikisi de yan yana kullanılabilir.

Başarının önemli bir anahtarı: Onları büyük bir kural kümesiyle dağıtmayın ve iyi çalışmasını beklemeyin. Milyonlarca uyarınız olacak ve kimse ilgilenmeyecek.

Temel kurallar:

  • Daima sıfır uyarı al. Gerekirse ilk önce kontrol kümesini azaltın, ardından her sprint için yeni kontroller ekleyin ve bunları düzeltin. Yapılan her kontrolün sizin için gerçek değere sahip olduğundan ve standartlarınızla tutarlı olduğundan emin olun.

  • Etki alanına özel kurallara uymanız gerekiyorsa, kendi kurallarınızı uygulamaktan korkmayın.

Sözdizimi kontrolü için Resharper kullanıyorsanız StyleCop veya StyleCop kullanın (ki ben de tavsiye ederim).


2

StyleCop ve FxCop geliştiricilerime kod stillerini hatırlatan hafif araçlarım. Yeniden birleştirici de iyidir, ancak VS'yi çok yavaş hale getirir.

FxCop'u , zengin dokümantasyon, sınıflandırmalar, örnekler ve diğer birçok özelliğe sahip zengin kurallar kitaplığı nedeniyle öneririm .

Ayrıca görsel stüdyo için StyleCop Fixer uzantısı da var, sıradan hataları düzeltmeye yardımcı oluyor.

Kod Metrikleri bazen kod stillerinden de etkilenir. Kodların sürdürülebilirliğini bu araçla izleyebilirsiniz.


2

Manuel incelemelere tercih olarak, daha önce bahsedilen otomatik kod analizini (FxCop, StyleCopy, CI derlemeleri vb.) İlk olarak almayı vurgulamak istiyorum. Otomatik kontroller, manuel incelemenin yapabileceğinden çok daha fazla şey alacaktır ve normalde çok daha titiz, tutarlı ve kendi kendini belgelemektedir. Manuel incelemeler daha üst düzey tasarım kararları vb.İçin iyi olabilir, ancak benim deneyimime göre çok öznel ve gelişigüzel olabilirler.


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.