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 | CA1506 |
| Judul | Hindari keterhubungan kelas yang berlebihan |
| Kategori | Kemampu |
| Perbaikan bersifat merusak atau tidak merusak | Merusak |
| Ambang batas bawaan | Jenis: 95 Simbol lainnya: 40 |
| Diaktifkan secara default di .NET 10 | Tidak |
| Bahasa yang berlaku | C# dan Visual Basic |
Penyebab
Jenis, metode, bidang, properti, atau peristiwa digabungkan dengan banyak jenis lainnya. Jenis yang dihasilkan kompilator dikecualikan dari metrik ini.
Deskripsi aturan
Aturan ini mengukur keterhubungan kelas dengan menghitung jumlah referensi tipe unik yang dimiliki oleh jenis, metode, bidang, properti, atau peristiwa. Ambang kopling default adalah 95 untuk jenis dan 40 untuk jenis simbol lainnya, dan ambang batas dapat dikonfigurasi.
Jenis, metode, dan simbol lain yang memiliki tingkat kopling kelas yang tinggi bisa sulit dipertahankan. Ini adalah praktik yang baik untuk memiliki jenis, metode, dan simbol lain yang menunjukkan kopling rendah dan kohesi tinggi.
Cara memperbaiki pelanggaran
Untuk memperbaiki pelanggaran ini, coba desain ulang jenis atau metode untuk mengurangi jumlah jenis yang digabungkan.
Kapan harus menekan peringatan
Anda dapat menekan peringatan ini ketika jenis atau metode dianggap dapat dipertahankan meskipun banyak dependensi pada jenis lain.
Catatan
Anda mungkin melihat peringatan positif palsu dari aturan ini jika semua hal berikut ini berlaku:
- Anda menggunakan Visual Studio 2022 versi 17.5 atau yang lebih baru dengan versi .NET SDK yang lebih lama, yaitu, .NET 6 atau yang lebih lama.
- Anda menggunakan penganalisis dari .NET 6 SDK atau versi paket penganalisis yang lebih lama, seperti Microsoft.CodeAnalysis.FxCopAnalyzers.
Positif palsu disebabkan oleh perubahan besar dalam kompiler C#. Pertimbangkan untuk menggunakan penganalisis yang lebih baru yang berisi perbaikan untuk peringatan positif palsu. Tingkatkan ke Microsoft.CodeAnalysis.NetAnalyzers versi 7.0.0-preview1.22464.1 atau yang lebih baru atau gunakan penganalisis dari .NET 7 SDK.
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 CA1506
// The code that's violating the rule is on this line.
#pragma warning restore CA1506
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA1506.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.
Mengonfigurasi ambang batas
Anda dapat mengonfigurasi ambang di mana aturan ini diaktifkan dan jenis simbol untuk dianalisis. Jenis simbol yang diizinkan adalah:
AssemblyNamespaceTypeMethodFieldEventProperty
Buat file teks bernama CodeMetricsConfig.txt.
Tambahkan ambang yang diinginkan ke file teks dalam format berikut:
CA1506(Method): 60 CA1506(Type): 120Dalam contoh ini, aturan dikonfigurasi untuk dijalankan ketika suatu metode memiliki lebih dari 60 referensi tipe unik atau suatu tipe memiliki lebih dari 120 referensi tipe unik. Dengan file konfigurasi ini, aturan akan terus menandai bidang, properti, dan peristiwa yang kopling kelasnya lebih besar dari ambang default (40).
Dalam file proyek, tandai aksi build untuk file konfigurasi sebagai AdditionalFiles. Contohnya:
<ItemGroup> <AdditionalFiles Include="CodeMetricsConfig.txt" /> </ItemGroup>