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.
| Properti | Nilai |
|---|---|
| ID Aturan | CA1711 |
| Judul | Pengidentifikasi tidak boleh memiliki akhiran yang salah |
| Kategori | Penamaan |
| Perbaikan bersifat disruptif atau non-disruptif | Berita Terkini |
| Diaktifkan secara default di .NET 10 | Tidak |
Penyebab
Pengidentifikasi memiliki akhiran yang salah.
Secara default, aturan ini hanya melihat pengidentifikasi yang terlihat secara eksternal, tetapi ini dapat dikonfigurasi.
Deskripsi aturan
Menurut konvensi, hanya nama jenis yang memperluas jenis dasar tertentu atau mengimplementasikan antarmuka tertentu, atau jenis yang diturunkan dari jenis ini, harus diakhiri dengan akhiran khusus yang sudah ditentukan. Nama jenis lain tidak boleh menggunakan sufiks yang dicadangkan ini.
Tabel berikut mencantumkan akhiran yang dipesan serta jenis dasar dan antarmuka yang terkait dengannya.
| Akhiran | Jenis dasar/Antarmuka |
|---|---|
Attribute |
System.Attribute |
Collection |
System.Collections.ICollection System.Collections.IEnumerable System.Collections.Queue System.Collections.Stack System.Collections.Generic.ICollection<T> System.Data.DataSet System.Data.DataTable |
Dictionary |
System.Collections.IDictionary System.Collections.Generic.IDictionary<TKey,TValue> |
EventArgs |
System.EventArgs |
EventHandler |
Delegasi penanganan aktivitas |
Exception |
System.Exception |
Permission |
System.Security.IPermission |
Queue |
System.Collections.Queue |
Stack |
System.Collections.Stack |
Stream |
System.IO.Stream |
Selain itu, akhiran berikut sebaiknya tidak digunakan:
DelegateEnum-
Exatau akhiran serupa untuk membedakan dari versi sebelumnya dari jenis yang sama -
FlagatauFlagsuntuk jenis enum -
Impl(gunakanCoresebagai gantinya) -
Newjika anggota dengan nama yang sama tetapi tanpa akhiranNewsudah ada
Konvensi penamaan menyediakan tampilan umum untuk pustaka yang menargetkan runtime bahasa umum .NET. Konvensi ini mengurangi kurva pembelajaran yang diperlukan untuk pustaka perangkat lunak baru dan meningkatkan kepercayaan pelanggan bahwa pustaka dikembangkan oleh seseorang dengan keahlian dalam mengembangkan kode terkelola. Untuk informasi selengkapnya, lihat Panduan penamaan: Kelas, Struktur, dan Antarmuka.
Cara memperbaiki pelanggaran
Hapus akhiran dari nama tipe.
Example
class BadEmployeeCollection { } // Violates CA1711
// Good
class Employee { }
class GoodEmployeeCollection : ICollection<Employee>
{
// Implementations
}
class Employees { } // Good
Kapan harus menekan peringatan
Jangan mengabaikan peringatan dari aturan ini kecuali akhiran memiliki arti yang tidak ambigu dalam lingkup aplikasi.
Menyembunyikan peringatan
Jika Anda hanya ingin menyembunyikan satu pelanggaran, tambahkan arahan praprosedur ke file sumber Anda untuk dinonaktifkan lalu aktifkan kembali aturannya.
#pragma warning disable CA1711
// The code that's violating the rule is on this line.
#pragma warning restore CA1711
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA1711.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.
Mengonfigurasi kode yang akan dianalisis
Gunakan opsi berikut untuk mengonfigurasi bagian mana dari codebase Anda yang akan menjalankan aturan ini.
Anda dapat mengonfigurasi opsi ini hanya untuk aturan ini, untuk semua aturan yang berlaku, atau untuk semua aturan dalam kategori ini (Penamaan) yang berlaku untuk aturan tersebut. Untuk informasi selengkapnya, lihat Opsi konfigurasi aturan kualitas kode.
Menyertakan permukaan API tertentu
Anda dapat mengonfigurasi bagian basis kode mana yang akan dijalankan aturan ini, berdasarkan aksesibilitasnya, dengan mengatur opsi api_surface. Misalnya, untuk menentukan bahwa aturan hanya boleh dijalankan pada permukaan API non-publik, tambahkan pasangan kunci-nilai berikut ke file .editorconfig di proyek Anda:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Nota
Ganti bagian XXXXCAXXXX dengan ID aturan yang berlaku.
Perbolehkan akhiran
Anda dapat mengonfigurasi daftar akhiran yang diizinkan, dengan setiap akhiran dipisahkan oleh karakter pipa ("|"). Misalnya, untuk menentukan bahwa aturan tidak boleh berjalan terhadap akhiran "Bendera" dan "Bendera-Bendera", tambahkan pasangan kunci-nilai berikut ke file .editorconfig di proyek Anda.
dotnet_code_quality.ca1711.allowed_suffixes = Flag|Flags