CA1514: Hindari argumen panjang berlebihan
Properti | Nilai |
---|---|
ID Aturan | CA1514 |
Judul | Hindari argumen panjang redundan |
Golongan | Kemampu |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Diaktifkan secara default di .NET 8 | Sebagai saran |
Penyebab
Argumen panjang redundan diteruskan ke String.Substring, Span<T>.Slice, ReadOnlySpan<T>.Slice, atau Memory<T>.Slice saat mengiris ke akhir string atau buffer.
Deskripsi aturan
Argumen panjang yang dihitung secara eksplisit dapat rentan terhadap kesalahan dan tidak perlu saat Anda mengiris ke akhir string atau buffer.
Kode yang menghilangkan argumen panjang lebih mudah dibaca dan dipertahankan.
Cara memperbaiki pelanggaran
Hapus argumen panjang.
Contoh
Cuplikan kode berikut menunjukkan pelanggaran CA1514:
string message = "Hello World!";
string world = message.Substring(6, message.Length - 6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6, message.Length - 6) ' "World!"
Cuplikan kode berikut memperbaiki pelanggaran:
string message = "Hello World!";
string world = message.Substring(6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6) ' "World!"
Kapan harus menekan peringatan
Aman untuk menyembunyikan pelanggaran aturan ini jika Anda tidak khawatir tentang pemeliharaan kode Anda.
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 CA1514
// The code that's violating the rule is on this line.
#pragma warning restore CA1514
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none
dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA1514.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.