Apakah Stylecop telah menggantikan FXcop? Produk mana yang harus kita gunakan dengan Visual Studio 2008?
Jawaban:
Stylecop adalah alat analisis gaya yang bekerja di tingkat kode sumber. Itu ada terutama untuk menyediakan satu gaya umum yang dapat digunakan oleh proyek yang dikelola untuk tetap konsisten dalam dunia perangkat lunak terkelola yang lebih besar. Itu membuat keputusan tentang gaya terutama untuk menghindari perang suci (bagaimanapun juga, gaya hampir selalu merupakan hal yang secara inheren subjektif). Saya rasa saya belum pernah bertemu seseorang yang menyukai semua aturan StyleCop, tapi tidak apa- apa . Ini berarti bahwa StyleCop adalah kompromi yang baik secara umum di antara sekumpulan pedoman gaya yang ada. (Jika aturan stylecop sangat dapat disesuaikan, lebih dari sekadar mengaktifkan / menonaktifkannya, itu akan mengalahkan seluruh tujuan alat.)
FxCop, di sisi lain, adalah alat analisis statis yang bekerja pada tingkat perakitan terkelola. Ia dapat diberikan arahan melalui atribut karena ia dapat melihat atribut pada elemen kode, misalnya. Ini mendeteksi masalah yang dapat dilihat pada tingkat "biner" (seolah-olah) sebagai lawan dari tingkat sintaksis.
Untuk menjawab pertanyaan Anda, StyleCop tidak menggantikan FxCop, dan FxCop tidak menggantikan stylecop. Mereka adalah dua alat berbeda dengan dua tujuan berbeda yang keduanya dapat memberikan manfaat nyata untuk kode Anda.
(AKA, saya menjalankan keduanya. :))
Beberapa contoh hal-hal yang mungkin dideteksi vs. hal-hal yang mungkin dideteksi oleh orang lain:
Pelanggaran StyleCop mungkin termasuk peringatan yang terkait dengan: Whitespace, Pemformatan, Dokumentasi metode publik melalui xml-comments, urutan definisi metode dalam kelas.
Pelanggaran FxCop mungkin termasuk peringatan yang terkait dengan: Globalisasi, kopling ketat, kompleksitas siklomatik, potensi dereferensi nol.
stylecop bekerja pada kode sumber C # Anda. fxcop melihat kode yang Anda kompilasi dari bahasa .net apa pun.
Alternatif atau pelengkap yang baik untuk FxCop / StyleCop adalah dengan menggunakan alat komersial NDepend . Dengan alat ini seseorang dapat menulis Aturan Kode melalui LINQ Queries (yaitu CQLinq) . Penafian: Saya adalah salah satu pengembang alat ini
Lebih dari 200 aturan kode diusulkan secara default, ini termasuk desain , arsitektur , kualitas kode , evolusi kode , konvensi penamaan , kode mati , penggunaan NET Fx ...
CQLinq didedikasikan untuk menulis aturan kode yang dapat diverifikasi langsung di Visual Studio , atau yang dapat diverifikasi selama proses pembuatan dan dilaporkan dalam laporan HTML / javascript .
Kekuatan CQLinq di atas FxCop atau StyleCop, adalah mudah untuk menulis aturan kode , dan langsung mendapatkan hasil. Fasilitas diusulkan untuk menelusuri elemen kode yang cocok. Secara konkret terlihat seperti itu:
FXCop melakukan analisis kode statis dari kumpulan kode yang Anda kelola. Anggap saja sebagai menemukan masalah yang akan menyebabkan masalah pada waktu proses atau yang akan memengaruhi cara pengembang meyakini kode akan berjalan (kode tidak dapat dijangkau).
StyleCop menganalisis struktur kode Anda dari sudut pandang teks. Anggap ini sebagai masalah yang akan memengaruhi pengalaman pengembangan dan desain Anda (Pemformatan, konvensi penamaan, dokumentasi)
Keduanya adalah alat yang SANGAT berharga dan Anda harus menggunakan keduanya tetapi keduanya fokus pada masalah yang berbeda.
StyleCop melakukan analisis kode sumber sangat tidak dapat dikonfigurasi. Itu tidak benar-benar melakukan hal yang sama seperti FxCop, yang menganalisis kode yang dikompilasi.
Artikel wikipedia tentang ini memberikan ringkasan bagus tentang perbedaannya: