Bagikan melalui


Aturan gaya kode

Analisis gaya kode .NET menyediakan aturan yang bertujuan untuk mempertahankan gaya yang konsisten di basis kode Anda. Aturan ini memiliki awalan "IDE" dalam ID aturan.

Aturan gaya kode diorganisir ke dalam subkategori berikut:

  • Aturan bahasa dan kode yang tidak perlu

    Aturan yang berkaitan dengan bahasa C# atau Visual Basic. Misalnya, Anda dapat menentukan aturan yang berkaitan dengan penggunaan var saat menentukan variabel, atau apakah anggota bertubuh ekspresi lebih disukai. Kategori ini juga mencakup aturan yang menemukan kode yang tidak perlu, misalnya, kode yang tidak dapat dijangkau dalam metode atau bidang privat, properti, atau metode yang tidak digunakan.

  • Aturan pemformatan

    Aturan yang berkaitan dengan tata letak dan struktur kode Anda untuk membuatnya lebih mudah dibaca. Misalnya, Anda dapat menentukan opsi pemformatan yang menentukan apakah spasi dalam blok kontrol lebih disukai atau tidak.

  • Aturan penamaan

    Aturan yang berkaitan dengan penamaan elemen kode. Misalnya, Anda dapat menentukan bahwa async nama metode harus memiliki akhiran "Asinkron".

  • Aturan lain-lain

    Aturan yang tidak termasuk dalam kategori lain.

Indeks

Tabel berikut mencantumkan semua aturan gaya kode menurut ID dan opsi, jika ada.

Identifikasi Aturan Judul Opsi
IDE0001 Menyederhanakan nama
IDE0002 Menyederhanakan akses anggota
IDE0003 Hapus this atau Me syarat dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
pengaturan_gaya_dotnet_untuk_metode
dotnet_style_qualification_for_event
IDE0004 Hapus cast yang tidak perlu
IDE0005 Menghapus impor yang tidak perlu
IDE0007 Gunakan var alih-alih jenis eksplisit gaya_var_csharp_untuk_tipe_bawaan
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0008 Gunakan jenis eksplisit alih-alih var gaya_var_csharp_untuk_tipe_bawaan
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0009 Tambahkan kualifikasi this atau Me. dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
pengaturan_gaya_dotnet_untuk_metode
dotnet_style_qualification_for_event
IDE0010 Tambahkan kasus yang hilang ke pernyataan switch
IDE0011 Menambahkan kurung kurawal csharp_prefer_braces
IDE0016 Gunakan ekspresi lemparan csharp_style_throw_expression
IDE0017 Menggunakan penginisialisasi objek dotnet_style_object_initializer
IDE0018 Deklarasi variabel sebaris gaya_csharp deklarasi_variabel_segaris
IDE0019 Gunakan pencocokan pola untuk menghindari as diikuti dengan pemeriksaan null pola pencocokan gaya csharp lebih unggul daripada 'as' dengan pemeriksaan null
IDE0020 Gunakan pencocokan pola untuk menghindari is pengecekan yang diikuti dengan casting (dengan variabel) gaya_csharp_pencocokan_pola_di_atas_is_dengan_pemeriksaan_konversi
IDE0021 Gunakan isi ekspresi untuk konstruktor csharp_gaya_konstruktor_berbasis_ekspresi
IDE0022 Menggunakan isi ekspresi untuk metode gaya_ekspresi_berbentuk_metode_csharp
IDE0023 Menggunakan isi ekspresi untuk operator konversi gaya_csharp_operator_berbasis_ekspresi
IDE0024 Menggunakan isi ekspresi untuk operator gaya_csharp_operator_berbasis_ekspresi
IDE0025 Menggunakan isi ekspresi untuk properti csharp_style_expression_bodied_properties
IDE0026 Menggunakan isi ekspresi untuk pengindeks csharp_gaya_ekspresi_tubuh_pemberi_indeks
IDE0027 Menggunakan isi ekspresi untuk aksesor csharp_style_expression_bodied_accessors
IDE0028 Menggunakan penginisialisasi koleksi dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression
IDE0029 Pengecekan null dapat disederhanakan dotnet_style_coalesce_expression
IDE0030 Pengecekan null dapat disederhanakan dotnet_style_coalesce_expression
IDE0031 Gunakan propagasi null dotnet_style_null_propagation
IDE0032 Gunakan properti otomatis dotnet_style_prefer_auto_properties (preferensi gaya otomatis properti di dotnet)
IDE0033 Gunakan nama tuple yang disediakan secara eksplisit dotnet_style_explicit_tuple_names
IDE0034 Menyederhanakan default ekspresi csharp_prefer_simple_default_expression (preferensi csharp untuk ekspresi default sederhana)
IDE0035 Menghapus kode yang tidak dapat dijangkau
IDE0036 Pengubah urutan urutan_modifikator_yang_disukai_csharp
urutan_modifier_yang_disukai_visual_basic
IDE0037 Gunakan nama anggota yang disimpulkan dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names
IDE0038 Gunakan pencocokan pola untuk menghindari is pemeriksaan diikuti oleh cast (tanpa variabel) gaya_csharp_pencocokan_pola_di_atas_is_dengan_pemeriksaan_konversi
IDE0039 Gunakan fungsi lokal alih-alih lambda csharp_gaya_lebih_memilih_lokal_daripada_fungsi_anonim
IDE0040 Menambahkan pengubah aksesibilitas dotnet_style_require_accessibility_modifiers
IDE0041 Gunakan pemeriksaan null dotnet_style_prefer_is_null_check_over_reference_equality_method
IDE0042 Memecah deklarasi variabel gaya_csharp_deklarasi_variabel_didekonstruksi
IDE0044 Menambahkan pengubah baca-saja dotnet_style_readonly_field
IDE0045 Menggunakan ekspresi kondisional untuk penugasan dotnet_style_prefer_conditional_expression_over_assignment
IDE0046 Gunakan ekspresi kondisional untuk pengembalian dotnet_style_prefer_conditional_expression_over_return
IDE0047 Menghapus tanda kurung yang tidak perlu gaya tanda kurung dalam operator biner aritmatika dotnet
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
gaya_tanda_kurung_dotnet_dalam_operator_lainnya
IDE0048 Tambahkan tanda kurung untuk kejelasan gaya tanda kurung dalam operator biner aritmatika dotnet
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
gaya_tanda_kurung_dotnet_dalam_operator_lainnya
IDE0049 Gunakan kata kunci bahasa alih-alih nama jenis kerangka kerja untuk referensi jenis dotnet_style_predefined_type_for_locals_parameters_members
dotnet_style_predefined_type_for_member_access
IDE0050 Mengonversi tipe anonim menjadi tuple
IDE0051 Menghapus anggota privat yang tidak digunakan
IDE0052 Menghapus anggota privat yang belum dibaca
IDE0053 Menggunakan isi ekspresi untuk lambda gaya_csharp_lambda_berbadan_ekspresi
IDE0054 Menggunakan penugasan majemuk dotnet_style_prefer_compound_assignment
IDE0055 Memperbaiki pemformatan (Terlalu banyak untuk dicantumkan di sini. Lihat opsi pemformatan .NET dan opsi pemformatan C#.)
IDE0056 Menggunakan operator indeks gaya_csharp_lebih_memilih_operator_indeks
IDE0057 Menggunakan operator rentang csharp_gaya_mengutamakan_operator_jangkauan
IDE0058 Menghapus nilai ekspresi yang tidak digunakan csharp_style_unused_value_expression_statement_preference
gaya_visual_basic_langkah_pengaturan_ekspresi_nilai_yang_tidak_terpakai
IDE0059 Menghapus penetapan nilai yang tidak perlu csharp_style_unused_value_assignment_preference
preferensi_penetapan_nilai_tidak_terpakai_gaya_visual_basic
IDE0060 Menghapus parameter yang tidak digunakan dotnet_code_quality_unused_parameters (parameter yang tidak dipakai)
IDE0061 Menggunakan isi ekspresi untuk fungsi lokal fungsi_lokal_berbasis_ekspresi_gaya_csharp
IDE0062 Membuat fungsi lokal static csharp_prefer_static_local_function
IDE0063 Menggunakan pernyataan using sederhana csharp_prefer_sederhana_pemakaian_pernyataan
IDE0064 Membuat bidang struktur bisa-tulis
IDE0065 using penempatan direktif csharp_using_directive_placement
IDE0066 Gunakan ekspresi pengalih csharp_style_prefer_switch_expression (Preferensi penggunaan switch expression di C#)
IDE0070 Menggunakan System.HashCode.Combine
IDE0071 Menyederhanakan interpolasi dotnet_style_prefer_simplified_interpolation
IDE0072 Menambahkan kasus yang hilang pada ekspresi switch
IDE0073 Gunakan header file file_header_template
IDE0074 Menggunakan penugasan gabungan coalesce dotnet_style_prefer_compound_assignment
IDE0075 Menyederhanakan ungkapan bersyarat dotnet_style_prefer_simplified_boolean_expressions
IDE0076 Hapus elemen global yang tidak valid SuppressMessageAttribute
IDE0077 Hindari target format lama secara global SuppressMessageAttribute
IDE0078 Menggunakan pencocokan pola csharp_style_prefer_pattern_matching
IDE0079 Hapus penekanan yang tidak perlu dotnet_remove_unnecessary_suppression_exclusions
IDE0080 Menghapus operator penekanan yang tidak perlu
IDE0081 Hapus ByVal
IDE0082 Konversi typeof ke nameof
IDE0083 Menggunakan pencocokan pola (operator not) gaya_csharp_lebih_suka_tidak_pola
IDE0084 Menggunakan pencocokan pola (operator IsNot) Preferensi gaya Visual Basic untuk ekspresi IsNot
IDE0090 Menyederhanakan new ekspresi gaya_csharp_penciptaan_objek_implisit_ketika_tipe_sudah_jelas
IDE0100 Menghapus operator kesetaraan yang tidak perlu
IDE0110 Menghapus barang buangan yang tidak perlu
IDE0120 Menyederhanakan ekspresi LINQ
IDE0121 Menyederhanakan pemeriksaan tipe LINQ dan konversi tipe
IDE0130 Namespace tidak cocok dengan struktur folder dotnet_style_namespace_match_folder
IDE0140 Menyederhanakan pembuatan objek Preferensi_Gaya_Visual_Basic_Penyederhanaan_Pembuatan_Objek
IDE0150 Lebih baik null cek daripada pemeriksaan tipe gaya_csharp_lebih_menyukai_pemeriksaan_null_daripada_pemeriksaan_tipe
IDE0160 Menggunakan namespace dengan cakupan blok csharp_style_namespace_declarations
IDE0161 Gunakan namespace dengan cakupan file csharp_style_namespace_declarations
IDE0170 Menyederhanakan pola properti csharp_style_prefer_extended_property_pattern
IDE0180 Gunakan tuple untuk menukar nilai csharp_style_prefer_tuple_swap
IDE0200 Menghapus ekspresi lambda yang tidak perlu preferensi_gaya_csharp_preferensi_konversi_grup_metode
IDE0210 Ubah ke pernyataan tingkat atas csharp_style_prefer_top_level_statements
IDE0211 Konversikan ke program gaya 'Program.Main' csharp_style_prefer_top_level_statements
IDE0220 Menambahkan cast eksplisit dalam perulangan foreach dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 Menggunakan string literal UTF-8 csharp_style_prefer_utf8_string_literals
IDE0240 Direktif nullable tidak diperlukan
IDE0241 Direktif nullable tidak diperlukan
IDE0250 Struktur dapat dibuat 'readonly' csharp_style_prefer_readonly_struct
IDE0251 Anggota dapat dibuat 'hanya-baca' csharp_style_prefer_readonly_struct_member
IDE0260 Menggunakan pencocokan pola pola pencocokan gaya csharp lebih unggul daripada 'as' dengan pemeriksaan null
IDE0270 Pengecekan null dapat disederhanakan dotnet_style_coalesce_expression
IDE0280 Menggunakan nameof
IDE0290 Gunakan konstruktor utama csharp_style_prefer_primary_constructors (preferensi gaya kode untuk konstruktor utama)
IDE0300 Menggunakan ekspresi koleksi pada array dotnet_style_prefer_collection_expression
IDE0301 Gunakan ekspresi koleksi untuk mewakili keadaan kosong. dotnet_style_prefer_collection_expression
IDE0302 Gunakan ekspresi koleksi untuk stackalloc dotnet_style_prefer_collection_expression
IDE0303 Gunakan ekspresi koleksi untuk Create() dotnet_style_prefer_collection_expression
IDE0304 Menggunakan ekspresi koleksi untuk pembangun dotnet_style_prefer_collection_expression
IDE0305 Menggunakan ekspresi koleksi untuk fasih dotnet_style_prefer_collection_expression
IDE0306 Gunakan ekspresi koleksi untuk membuat yang baru dotnet_style_prefer_collection_expression
IDE0320 Membuat fungsi anonim static csharp_lebih_menyukai_fungsi_anonim_statis
IDE0330 Disarankan menggunakan 'System.Threading.Lock' csharp_prefer_system_threading_lock
IDE0340 Gunakan jenis generik yang tidak terikat csharp_style_prefer_unbound_generic_type_in_nameof
IDE0350 Gunakan lambda yang diketik implisit csharp_style_prefer_implicitly_typed_lambda_expression (Disarankan menggunakan ekspresi lambda bertipe implisit)
IDE0360 Menyederhanakan aksesori properti csharp_style_prefer_simple_property_accessors
IDE0370 Hapus penekanan yang tidak perlu
IDE0380 Hapus pengubah 'tidak aman' yang tidak perlu
IDE1005 Menggunakan panggilan delegasi bersyarat pemanggilan_delegasi_kondisional_bergaya_C#
IDE1006 Gaya penamaan
IDE2000 Hindari beberapa baris kosong dotnet_style_allow_multiple_blank_lines_experimental
IDE2001 Pernyataan yang disematkan harus berada di baris mereka sendiri csharp_style_allow_embedded_statements_on_same_line_experimental
IDE2002 Kurung kurawal berturut-turut tidak boleh memiliki baris kosong di antaranya csharp_style_allow_blank_lines_between_consecutive_braces_experimental
IDE2003 Baris kosong diperlukan antara blok dan pernyataan berikutnya dotnet_style_allow_statement_immediately_after_block_experimental
IDE2004 Baris kosong tidak diperbolehkan setelah titik dua inisialisasi konstruktor csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental
IDE2005 Baris kosong tidak diperbolehkan setelah token ekspresi bersyarah csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental
IDE2006 Baris kosong tidak diperbolehkan setelah token klausul ekspresi panah csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental
IDE3000 Terapkan dengan Copilot

† Aturan ini bersifat eksperimental dan dapat berubah atau dihapus.

Catatan

Ada beberapa aturan yang hanya muncul di Visual Studio IDE, dan ini menyangkut string pola JSON dan ekspresi reguler. Untuk informasi selengkapnya, lihat JSON001, JSON002, dan RE0001.

Legenda

Tabel berikut ini memperlihatkan jenis informasi yang disediakan untuk setiap aturan dalam dokumentasi referensi.

Barang Deskripsi
ID Aturan Pengidentifikasi unik untuk aturan. Digunakan untuk mengonfigurasi tingkat keparahan aturan dan menekan peringatan dalam file kode.
Judul Judul aturan.
Kategori Kategori dari aturan.
Subkategori Subkategori dalam aturan, seperti Aturan bahasa, Aturan pemformatan, atau Aturan penamaan.
Bahasa pemrogram yang berlaku Bahasa .NET yang berlaku (C# atau Visual Basic), bersama dengan versi bahasa minimum, jika berlaku.
Versi yang diperkenalkan Versi .NET SDK atau Visual Studio saat aturan pertama kali diperkenalkan.
Opsi Opsi yang tersedia untuk aturan tersebut.

Lihat juga