Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Aturan bahasa gaya kode memengaruhi bagaimana berbagai konstruksi bahasa pemrograman .NET, misalnya, pengubah, dan tanda kurung, digunakan.
Kategori ini juga mencakup aturan yang mengidentifikasi bagian dari basis kode yang tidak perlu dan dapat direfaktor atau dihapus. Kehadiran kode yang tidak perlu menunjukkan satu atau beberapa masalah berikut:
- Keterbacaan: Koding yang secara tidak perlu mengurangi keterbacaan.
- Ketahanan: Kode yang tidak lagi digunakan setelah pemfaktoran ulang dan dipertahankan secara tidak perlu.
- Performansi: Komputasi yang tidak perlu yang tidak memiliki efek samping dan menyebabkan beban kinerja yang tidak perlu.
- Fungsionalitas: Masalah fungsional dalam kode yang membuat kode yang diperlukan menjadi berlebihan. Misalnya, IDE0060 menandai parameter yang tidak digunakan di mana metode secara tidak sengaja mengabaikan parameter input.
Aturan bahasa termasuk dalam kategori berikut:
- Aturan gaya .NET: Aturan yang berlaku untuk C# dan Visual Basic. Nama opsi untuk aturan ini dimulai dengan awalan
dotnet_style_. - Aturan gaya C#: Aturan yang khusus untuk kode C#. Nama opsi untuk aturan ini dimulai dengan awalan
csharp_style_. - Aturan gaya Visual Basic: Aturan yang khusus untuk kode Visual Basic. Nama opsi untuk aturan ini dimulai dengan awalan
visual_basic_style_.
Format opsi
Banyak aturan bahasa memiliki satu atau beberapa opsi terkait untuk menyesuaikan gaya pilihan. Misalnya, Gunakan pernyataan 'penggunaan' sederhana (IDE0063) memiliki opsi csharp_prefer_simple_using_statement terkait yang memungkinkan Anda menentukan apakah Anda lebih suka using deklarasi atau using pernyataan. Aturan memberlakukan opsi mana pun yang Anda pilih pada tingkat tertentu, misalnya, peringatan atau kesalahan.
Opsi untuk aturan bahasa dapat ditentukan dalam file konfigurasi dengan format berikut:
option_name = value (Visual Studio 2019 dan yang lebih baru)
atau
option_name = value:severity
Nilai
Untuk setiap aturan bahasa pemrogram, Anda menentukan nilai yang menentukan apakah atau kapan harus mengutamakan gaya. Banyak aturan menerima nilai
true(mengutamakan gaya ini) ataufalse(tidak mengutamakan gaya ini). Aturan lain menerima nilai sepertiwhen_on_single_lineataunever.Tingkat keparahan (opsional di Visual Studio 2019 dan versi yang lebih baru)
Bagian kedua aturan menentukan tingkat keparahan untuk aturan. Di .NET 9 dan versi yang lebih baru, tingkat keparahan selalu dihormati—yaitu, di dalam IDE pengembangan dan selama pembangunan baris perintah. Di .NET 8 dan versi yang lebih lama, pengaturan tingkat keparahan ini hanya dihormati di dalam IDE pengembangan, seperti Visual Studio, dan bukan selama build.
Jika Anda menggunakan .NET 8 SDK atau versi yang lebih lama dan Anda ingin tingkat keparahan dihormati pada waktu build, Anda dapat melakukannya dengan salah satu dari dua cara:
- Atur properti
<AnalysisLevel>atau<AnalysisLevelStyle>ke9.0atau nilai yang lebih tinggi, atau kepreview. - Atur tingkat keparahan dengan menggunakan sintaks konfigurasi tingkat keparahan berbasis ID aturan untuk penganalisis sebagai gantinya. Sintaks mengambil formulir
dotnet_diagnostic.<rule ID>.severity = <severity>, misalnya,dotnet_diagnostic.IDE0040.severity = warning. Untuk informasi selengkapnya, lihat tingkat keparahan.
- Atur properti
Tips
Mulai dari Visual Studio 2019, Anda dapat mengonfigurasi aturan gaya kode dari menu tindakan cepat lampu sorot setelah pelanggaran gaya terjadi.
Indeks aturan
Aturan bahasa dan kode yang tidak perlu dikategorikan lebih lanjut ke dalam subkategori, seperti preferensi tingkat ekspresi, preferensi blok kode, dan preferensi pengubah.
-
usingpreferensi petunjuk - Preferensi blok kode
- Anggota berbasis ekspresi
- Preferensi tingkat ekspresi
- Preferensi Bidang
- Kata kunci bahasa vs. preferensi jenis kerangka kerja
- Preferensi modifikasi
- Preferensi baris baru
- Preferensi pengecekan nilai null
- Preferensi parameter
- Preferensi Penggunaan Tanda Kurung
- Preferensi pencocokan pola
- Preferensi supresi
-
This.danme.preferensi -
varpreferensi
using preferensi direktif
Aturan gaya .NET (C# dan Visual Basic):
Aturan gaya C#:
Preferensi blok kode
Aturan gaya C#:
- Menambahkan kurung kurawal (IDE0011)
- Gunakan pernyataan 'menggunakan' sederhana (IDE0063)
- Preferensi Namespace Deklarasi (IDE0160, IDE0161)
- Menghapus ekspresi lambda yang tidak perlu (IDE0200)
- Mengonversi ke pernyataan tingkat atas (IDE0210)
- Konversi ke program gaya 'Program.Main' (IDE0211)
- Gunakan konstruktor utama (IDE0290)
- Lebih suka 'System.Threading.Lock' (IDE0330)
Anggota dengan tubuh ekspresi
Aturan gaya C#:
- Menggunakan isi ekspresi untuk konstruktor (IDE0021)
- Menggunakan isi ekspresi untuk metode (IDE0022)
- Menggunakan isi ekspresi untuk operator (IDE0023, IDE0024)
- Menggunakan isi ekspresi untuk properti (IDE0025)
- Menggunakan isi ekspresi untuk pengindeks (IDE0026)
- Gunakan bodi ekspresi untuk aksesor (IDE0027)
- Gunakan bentuk ekspresi untuk lambda (IDE0053)
- Menggunakan isi ekspresi untuk fungsi lokal (IDE0061)
Preferensi tingkat ekspresi
Aturan gaya .NET (C# dan Visual Basic):
- Menyederhanakan nama (IDE0001)
- Menyederhanakan akses anggota (IDE0002)
- Hapus cast yang tidak perlu (IDE0004)
- Menambahkan kasus yang hilang ke pernyataan switch (IDE0010)
- Gunakan penginisialisasi objek (IDE0017)
- Menggunakan penginisialisasi koleksi (IDE0028)
- Pemeriksaan null dapat disederhanakan (IDE0029, IDE0030, IDE0270)
- Gunakan propagasi null (IDE0031)
- Menggunakan properti yang diimplementasikan secara otomatis (IDE0032)
- Gunakan nama tuple yang disediakan secara eksplisit (IDE0033)
- Menghapus kode yang tidak dapat dijangkau (IDE0035)
- Gunakan nama anggota yang disimpulkan (IDE0037)
- Gunakan pengecekan 'is null' (IDE0041)
- Menggunakan ekspresi kondisi untuk penugasan (IDE0045)
- Menggunakan ekspresi kondisi untuk pengembalian (IDE0046)
- Mengonversi jenis anonim menjadi tuple (IDE0050)
- Menghapus anggota privat yang tidak digunakan (IDE0051)
- Menghapus anggota privat yang belum dibaca (IDE0052)
- Gunakan penugasan gabungan (IDE0054, IDE0074)
- Menghapus nilai ekspresi yang tidak perlu (IDE0058)
- Menghapus penetapan nilai yang tidak perlu (IDE0059)
- Gunakan 'System.HashCode.Combine' (IDE0070)
- Menyederhanakan interpolasi (IDE0071)
- Menyederhanakan ekspresi kondisional (IDE0075)
-
Konversi
typeofkenameof(IDE0082) - Menghapus operator kesetaraan yang tidak perlu (IDE0100)
- Menyederhanakan ekspresi LINQ (IDE0120)
- Menyederhanakan pemeriksaan jenis LINQ dan transmisi (IDE0121)
- Namespace tidak cocok dengan struktur folder (IDE0130)
Aturan gaya C#:
- Gunakan ekspresi throw (IDE0016)
- Deklarasi variabel sebaris (IDE0018)
- Sederhanakan ekspresi 'default' (IDE0034)
- Gunakan fungsi lokal alih-alih lambda (IDE0039)
- Dekonstruksi deklarasi variabel (IDE0042)
- Menggunakan operator indeks (IDE0056)
- Menggunakan operator rentang (IDE0057)
- Menambahkan kasus yang hilang ke ekspresi switch (IDE0072)
- Hapus operator supresi yang tidak perlu (IDE0080)
-
Sederhanakan
newekspresi (IDE0090) - Hapus buang yang tidak perlu (IDE0110)
- Utamakan pemeriksaan 'null' daripada pemeriksaan tipe (IDE0150)
- Menggunakan tuple untuk menukar nilai (IDE0180)
- Menambahkan cast eksplisit pada loop foreach (IDE0220)
- Gunakan literal string UTF-8 (IDE0230)
- Direktif nullable tidak diperlukan (IDE0240)
- Direktif nullable tidak diperlukan (IDE0241)
- Gunakan ekspresi koleksi untuk array (IDE0300)
- Gunakan ekspresi koleksi untuk kosong (IDE0301)
- Gunakan ekspresi koleksi untuk alokasi tumpukan (IDE0302)
-
Gunakan ekspresi koleksi untuk
Create()(IDE0303) - Menggunakan ekspresi koleksi untuk penyusun (IDE0304)
- Gunakan ekspresi koleksi untuk kode yang lebih lancar (IDE0305)
- Gunakan ekspresi koleksi baru (IDE0306)
- Gunakan jenis generik yang tidak terikat (IDE0340)
- Gunakan lambda yang ditik secara implisit (IDE0350)
- Menyederhanakan aksesor properti (IDE0360)
Aturan gaya Visual Basic:
-
Hapus
ByVal(IDE0081) -
Gunakan pencocokan pola (
IsNotoperator) (IDE0084) - Menyederhanakan pembuatan objek (IDE0140)
Preferensi bidang
Aturan gaya .NET (C# dan Visual Basic):
Kata kunci bahasa vs. preferensi jenis kerangka kerja
Aturan gaya .NET (C# dan Visual Basic):
Preferensi pengubah
Aturan gaya .NET (C# dan Visual Basic):
Aturan gaya C#:
- Membuat fungsi lokal statis (IDE0062)
- Membuat bidang struct bisa ditulis (IDE0064)
- Struct dapat dibuat *readonly* (IDE0250)
- Anggota dapat dibuat 'readonly' (IDE0251)
- Buat fungsi anonim statis (IDE0320)
-
Hapus pengubah yang tidak perlu
unsafe(IDE0380)
Preferensi baris baru
Aturan gaya .NET (C# dan Visual Basic):
- Hindari beberapa baris kosong (IDE2000)†
- Baris kosong diperlukan antara blok dan pernyataan berikutnya (IDE2003)†
Aturan gaya C#:
- Pernyataan yang disematkan harus berada di baris mereka sendiri (IDE2001)†
- Kurung kurawal berturut-turut tidak boleh memiliki garis kosong di antara mereka (IDE2002)†
- Baris kosong tidak diperbolehkan setelah titik dua penginisialisasi konstruktor (IDE2004)†
- Baris kosong tidak diperbolehkan setelah token ekspresi bersyarah (IDE2005)†
- Baris kosong tidak diperbolehkan setelah token klausul ekspresi panah (IDE2006)†
† Aturan ini bersifat eksperimental dan dapat berubah atau dihapus.
Preferensi pemeriksaan null
Aturan gaya C#:
Preferensi parameter
Aturan gaya .NET (C# dan Visual Basic):
Preferensi tanda kurung
Aturan gaya .NET (C# dan Visual Basic):
Preferensi pencocokan pola
Aturan gaya C#:
- Gunakan pencocokan pola untuk menghindari 'as' yang diikuti dengan pemeriksaan 'null' (IDE0019)
- Gunakan pencocokan pola untuk menghindari pengecekan 'is' yang diikuti oleh cast (IDE0020, IDE0038)
- Menggunakan ekspresi pengalihan (IDE0066)
- Menggunakan pencocokan pola (IDE0078 dan IDE0260)
-
Menggunakan pencocokan pola (
notoperator) (IDE0083) - Menyederhanakan pola properti (IDE0170)
Preferensi Penghapusan
Aturan gaya .NET (C# dan Visual Basic):
Aturan gaya C#:
Preferensi This. dan me.
Aturan gaya .NET (C# dan Visual Basic):
var preferensi
Aturan gaya C#:
- Preferensi 'var' (IDE0007, IDE0008)