Cara memastikan standar pengkodean tunggal dalam .NET dengan dukungan alat

14

Mungkin, situasi dasar sudah biasa bagi semua orang. Anda telah menyetujui standar pengkodean tertentu di tim Anda dan sekarang saatnya memastikan bahwa semua orang mengikutinya.

Beberapa melakukannya melalui pemrograman berpasangan berat, yang lain mempertahankan daftar standar pengkodean dan melakukan tinjauan manual. Yang lain bahkan menggunakan alat analisis kode statis dari Visual Studio untuk memastikan bahwa standar pengkodean ditegakkan.

Apa praktik terbaik Anda untuk memastikan standar pengkodean? Alat apa yang Anda gunakan - apakah ada alat penting yang harus diketahui oleh setiap pengembang? Bagaimana Anda mengintegrasikan standardisasi kode Anda dalam alat pengembangan Anda?

Stefan Papp
sumber

Jawaban:

15

StyleCop (sekarang juga StyleCop untuk Resharper) biasanya digunakan untuk menegakkan aturan gaya pengkodean dalam basis kode C #.

Ini dapat diintegrasikan ke dalam CI build Anda dan menyebabkan kegagalan build jika terjadi pelanggaran.

Oded
sumber
Adakah info lebih lanjut tentang cara menggunakannya? Saya ingin menjalankan pemeriksaan gaya sebelum setiap komit. Jadi saya perlu cli untuk itu. Apakah ada. Saya tidak dapat menemukan info yang relevan.
FreeLightman
1
Ini mungkin membantu blog.submain.com/stylecop-detailed-guide
z-boss
@R. - jika hanya satu yang dapat menyesuaikan aturan StyleCop. Oh, tunggu ...
Oded
@R. - Anda juga dapat menulis aturan Anda sendiri.
Oded
6

Pertama, pastikan Anda memiliki server build yang tepat yang terus membangun kode Anda. TFS atau Jenkins / Hudson + Msbuild adalah pilihan yang bagus. Pada server build ini, Anda tentu saja menjalankan tes, dan Anda juga dapat menjalankan analisis kode statis serta pemeriksa sintaksis.

Saya sarankan Menggunakan FxCop atau Gendarme untuk analisis kode statis. Keduanya bisa digunakan berdampingan.

Salah satu kunci penting untuk sukses: jangan gunakan mereka dengan peraturan besar dan berharap itu bekerja dengan baik. Anda akan memiliki jutaan peringatan dan tidak ada yang peduli.

Aturan praktisnya adalah:

  • Selalu ada nol peringatan. Kurangi set cek pada awalnya jika Anda harus, lalu tambahkan beberapa cek baru setiap sprint dan perbaiki. Pastikan setiap cek yang dilakukan memiliki nilai aktual untuk Anda dan konsisten dengan standar Anda.

  • Jika Anda memiliki aturan khusus domain yang harus Anda patuhi, jangan takut untuk menerapkan aturan Anda sendiri.

Untuk pemeriksaan sintaks, gunakan StyleCop atau StyleCop untuk Resharper jika Anda menggunakan Resharper (yang juga sangat saya rekomendasikan).

Anders Forsgren
sumber
2

StyleCop dan FxCop adalah alat ringan saya yang mengingatkan gaya kode kepada pengembang saya. Resharper juga bagus, tetapi VS sangat lambat.

Saya merekomendasikan FxCop karena pustaka aturan yang kaya, dengan dokumentasi yang bagus, klasifikasi, contoh dan banyak fitur lainnya.

Ada juga ekstensi StyleCop Fixer untuk studio visual yang tersedia, membantu memperbaiki kesalahan biasa.

Metrik Kode terkadang juga dipengaruhi oleh gaya kode. Anda dapat memantau pemeliharaan kode dengan alat ini.

Reza Owliaei
sumber
2

Saya ingin menekankan untuk mendapatkan analisis kode otomatis yang telah disebutkan (FxCop, StyleCopy, CI builds dll) bekerja terlebih dahulu, lebih suka tinjauan manual. Pemeriksaan otomatis akan mengambil jauh lebih banyak hal daripada kemungkinan tinjauan manual, dan biasanya jauh lebih ketat, konsisten dan mendokumentasikan diri. Ulasan manual bisa bagus untuk keputusan desain tingkat tinggi dll, tetapi dalam pengalaman saya, mereka bisa sangat subyektif dan serampangan.

Polyfun
sumber
0

NDepend dapat digunakan untuk menegakkan berbagai standar pengkodean pada .NET Code Base. Ini memiliki sekitar 200 aturan kode default yang dapat diramban di sini . Juga mudah untuk menyesuaikan aturan yang ada atau membuat aturan Anda sendiri karena dengan NDepend sebuah aturan hanyalah kueri C # LINQ .

Penafian: Saya bekerja untuk NDepend

Patrick Smacchia - NDepend dev
sumber