Opsi konfigurasi aturan kualitas kode
Aturan kualitas kode memiliki opsi konfigurasi tambahan, selain hanya mengonfigurasi tingkat keparahannya. Misalnya, setiap penganalisis kualitas kode dapat dikonfigurasi untuk hanya berlaku pada bagian tertentu dari basis kode Anda. Anda menentukan opsi ini dengan menambahkan pasangan kunci-nilai ke file EditorConfig yang sama tempat Anda menentukan tingkat keparahan aturan dan preferensi editor umum.
Catatan
Artikel ini tidak menjelaskan secara detail cara mengonfigurasi tingkat keparahan aturan. Opsi .editorconfig untuk mengatur tingkat keparahan aturan memiliki awalan yang berbeda (dotnet_diagnostic
) dengan opsi yang dijelaskan di sini (dotnet_code_quality
). Selain itu, opsi yang dijelaskan di sini berkaitan dengan aturan kualitas kode saja, sedangkan opsi tingkat keparahan juga berlaku untuk aturan gaya kode. Sebagai referensi cepat, Anda dapat mengonfigurasi tingkat keparahan aturan menggunakan sintaks opsi berikut:
dotnet_diagnostic.<rule ID>.severity = <severity value>
Namun, untuk informasi mendetail tentang cara mengonfigurasi tingkat keparahan aturan, lihat Tingkat keparahan.
Cakupan opsi
Setiap opsi penyempurnaan dapat dikonfigurasi untuk semua aturan, untuk kategori aturan (misalnya, Keamanan atau Desain), atau untuk aturan tertentu.
Semua aturan
Sintaks untuk mengonfigurasi opsi untuk semua aturan adalah sebagai berikut:
Sintaks | Contoh |
---|---|
dotnet_code_quality.<OptionName> = <OptionValue> | dotnet_code_quality.api_surface = public |
Nilai untuk <OptionName>
dicantumkan di bagian Opsi.
Kategori aturan
Sintaks untuk mengonfigurasi opsi bagi kategori aturan adalah sebagai berikut:
Sintaks | Contoh |
---|---|
dotnet_code_quality.<RuleCategory>.<OptionName> = OptionValue | dotnet_code_quality.Naming.api_surface = public |
Tabel berikut mencantumkan nilai yang tersedia untuk <RuleCategory>
.
Design
Documentation
Globalization
Interoperability
Maintainability
Naming
Performance
SingleFile
Reliability
Security
Usage
Aturan tertentu
Sintaks untuk mengonfigurasi opsi bagi aturan tertentu adalah sebagai berikut:
Sintaks | Contoh |
---|---|
dotnet_code_quality.<RuleId>.<OptionName> = <OptionValue> | dotnet_code_quality.CA1040.api_surface = public |
Opsi
Bagian ini mencantumkan beberapa opsi yang tersedia. Untuk melihat daftar lengkap opsi yang tersedia, lihat Konfigurasi penganalisis.
- api_surface
- exclude_async_void_methods
- exclude_single_letter_type_parameters
- output_kind
- required_modifiers
- exclude_extension_method_this_parameter
- null_check_validation_methods
- additional_string_formatting_methods
- excluded_type_names_with_derived_types
- excluded_symbol_names
- disallowed_symbol_names
- exclude_ordefault_methods
- ignore_internalsvisibleto
api_surface
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Bagian dari permukaan API yang akan dianalisis | public (berlaku untuk public DAN protected API)internal atau friend (berlaku untuk internal DAN private protected API)private (berlaku untuk private API)all (berlaku untuk semua API)Pisahkan beberapa nilai dengan koma (,) |
public |
CA1000CA1002CA1003CA1005CA1008CA1010CA1012CA1021CA1024CA1027CA1028CA1030CA1036 CA1036CA1040CA1041CA1043CA1044CA1045CA1046CA1047CA1051CA1052CA1054CA1055 CA1056CA1058CA1062CA1063CA1068CA1070CA1700CA1707CA1708CA1710CA1711CA1714CA1715CA1716 CA1716CA1717CA1720CA1721CA1725CA1801CA1802CA1815CA1819CA1822CA1859CA2208CA2217CA2225CA2226CA2231CA2234 |
exclude_async_void_methods
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Apakah akan mengabaikan metode asinkron yang tidak menampilkan nilai | true false |
false |
CA2007 |
Catatan
Opsi ini dinamai skip_async_void_methods
dalam versi yang lebih lama.
exclude_single_letter_type_parameters
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Apakah akan mengecualikan parameter jenis karakter tunggal dari aturan, misalnya, S di Collection<S> |
true false |
false |
CA1715 |
Catatan
Opsi ini dinamai allow_single_letter_type_parameters
dalam versi yang lebih lama.
output_kind
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Menentukan bahwa kode dalam proyek yang menghasilkan jenis assembly ini harus dianalisis | Satu atau beberapa bidang enumerasi OutputKind Pisahkan beberapa nilai dengan koma (,) |
Semua jenis output | CA2007 |
required_modifiers
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Menentukan pengubah yang diperlukan untuk API yang harus dianalisis | Satu atau beberapa nilai dari tabel pengubah yang diizinkan di bawah ini Pisahkan beberapa nilai dengan koma (,) |
Bergantung pada setiap aturan | CA1802 |
Pengubah yang Diizinkan | Ringkasan |
---|---|
none |
Tidak ada persyaratan pengubah |
static atau Shared |
Harus dinyatakan sebagai static (Shared di Visual Basic) |
const |
Harus dinyatakan sebagai const |
readonly |
Harus dinyatakan sebagai readonly |
abstract |
Harus dinyatakan sebagai abstract |
virtual |
Harus dinyatakan sebagai virtual |
override |
Harus dinyatakan sebagai override |
sealed |
Harus dinyatakan sebagai sealed |
extern |
Harus dinyatakan sebagai extern |
async |
Harus dinyatakan sebagai async |
exclude_extension_method_this_parameter
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Apakah akan melompati analisis untuk parameter this metode ekstensi |
true false |
false |
CA1062 |
null_check_validation_methods
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Nama metode validasi pemeriksaan null yang memvalidasi bahwa argumen yang diteruskan ke metode bukanlah null | Format nama metode yang diizinkan (dipisahkan oleh |): - Khusus nama metode (termasuk semua metode dengan nama, terlepas dari namespace layanan atau jenis yang berisi) - Nama yang sepenuhnya memenuhi syarat dalam format ID dokumentasi simbol, dengan awalan M: opsional |
Tidak | CA1062 |
additional_string_formatting_methods
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Nama metode pemformatan string tambahan | Format nama metode yang diizinkan (dipisahkan oleh |): - Khusus nama metode (termasuk semua metode dengan nama, terlepas dari namespace layanan atau jenis yang berisi) - Nama yang sepenuhnya memenuhi syarat dalam format ID dokumentasi simbol, dengan awalan M: opsional |
Tidak | CA2241 |
excluded_type_names_with_derived_types
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Nama jenis, sehingga jenis dan semua jenis turunannya dikecualikan untuk analisis | Format nama simbol yang diizinkan (dipisahkan oleh |): - Khusus nama jenis (termasuk semua jenis dengan nama, terlepas dari namespace layanan atau jenis yang berisi) - Nama yang sepenuhnya memenuhi syarat dalam format ID dokumentasi simbol, dengan awalan T: opsional |
Tidak | CA1001 CA1054CA1055CA1056 CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301 CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
excluded_symbol_names
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Nama simbol yang dikecualikan untuk analisis | Format nama simbol yang diizinkan (dipisahkan oleh |): - Khusus nama simbol (menyertakan semua simbol dengan nama, terlepas dari namespace layanan atau jenis yang berisi) - Nama yang sepenuhnya memenuhi syarat dalam format ID dokumentasi simbol. Setiap nama simbol memerlukan awalan jenis simbol, seperti awalan M: untuk metode, awalan T: untuk jenis, dan awalan N: untuk namespace layanan.- .ctor untuk konstruktor dan .cctor untuk konstruktor statik |
Tidak | CA1001 CA1054CA1055CA1056 CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301 CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
disallowed_symbol_names
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Nama simbol yang tidak diizinkan dalam konteks analisis | Format nama simbol yang diizinkan (dipisahkan oleh |): - Khusus nama simbol (menyertakan semua simbol dengan nama, terlepas dari namespace layanan atau jenis yang berisi) - Nama yang sepenuhnya memenuhi syarat dalam format ID dokumentasi simbol. Setiap nama simbol memerlukan awalan jenis simbol, seperti awalan M: untuk metode, awalan T: untuk jenis, dan awalan N: untuk namespace layanan.- .ctor untuk konstruktor dan .cctor untuk konstruktor statik |
Tidak | CA1031 |
exclude_ordefault_methods
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Mengecualikan FirstOrDefault dan LastOrDefault metode dari analisis. |
true atau false |
false |
CA1826 |
ignore_internalsvisibleto
Deskripsi | Nilai yang diizinkan | Nilai default | Aturan yang dapat dikonfigurasi |
---|---|---|---|
Termasuk rakitan yang ditandai dengan InternalsVisibleToAttribute dalam analisis. | true atau false |
true |
CA1812CA1852 |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk