Aracılığıyla paylaş


CA1711: Tanımlayıcıların ekleri yanlış olmamalıdır.

Mülk Değer
Kural Kimliği CA1711
Başlık Tanımlayıcılar yanlış sonek içermemelidir
Kategori Adlandırma
Hataya neden olan veya bozulmayan düzeltme Son Dakika
.NET 9'da varsayılan olarak etkin Hayır

Neden

Bir tanımlayıcı yanlış bir son eke sahip.

Varsayılan olarak, bu kural yalnızca dışarıdan görünen tanımlayıcılara bakar, ancak bu yapılandırılabilir.

Kural açıklaması

Kural gereği, yalnızca, belirli temel türleri genişleten veya bazı arabirimleri ya da bu türlerden türetilmiş türleri uygulayan tür adları, belirli ayrılmış soneklerle bitmelidir. Diğer tür adları aşağıdaki ayrılmış sonekleri kullanmamalı.

Aşağıdaki tabloda ayrılmış sonekler ile ilişkilendirildiği temel türler ve arabirimler listelenmiştir.

Sonek Temel tip/Arabirim
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 Bir olay işleyici temsilcisi
Exception System.Exception
Permission System.Security.IPermission
Queue System.Collections.Queue
Stack System.Collections.Stack
Stream System.IO.Stream

Ayrıca, aşağıdaki sonekler kullanılmamalıdır:

  • Delegate
  • Enum
  • Ex veya aynı türün önceki bir sürümünden ayırt etmek için benzer bir ek
  • Flag veya Flags enum türleri için
  • Impl (bunun yerine kullanın Core )
  • New Aynı ada sahip bir üye zaten var ise ama New eki yoksa

Adlandırma kuralları, .NET ortak dil çalışma zamanını hedefleyen kitaplıklar için ortak bir görünüm sağlar. Bu kurallar, yeni yazılım kitaplıkları için gereken öğrenme eğrisini azaltır ve kitaplığın yönetilen kod geliştirme konusunda uzmanlığı olan biri tarafından geliştirildiğine dair müşteri güvenini artırır. Daha fazla bilgi için bkz . Adlandırma yönergeleri: Sınıflar, Yapılar ve Arabirimler.

İhlalleri düzeltme

Tür adından soneki kaldırın.

Uyarıların ne zaman bastırılması gerekiyor?

Sonekte uygulama etki alanında açık bir anlama sahip olmadığı sürece bu kuraldan bir uyarıyı bastırmayın.

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

#pragma warning disable CA1711
// The code that's violating the rule is on this line.
#pragma warning restore CA1711

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini noneolarak ayarlayın.

[*.{cs,vb}]
dotnet_diagnostic.CA1711.severity = none

Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.

Analiz için kodu yapılandırın

Bu kuralın kod tabanınızın hangi bölümlerinde çalıştırılacaklarını yapılandırmak için aşağıdaki seçenekleri kullanın.

Bu seçenekleri yalnızca bu kural için, uyguladıkları tüm kurallar için veya bu kategorideki tüm kurallar için (Adlandırma) yapılandırabilirsiniz. Daha fazla bilgi için bkz . Kod kalitesi kuralı yapılandırma seçenekleri.

Belirli API yüzeylerini ekleme

api_surface seçeneğini ayarlayarak, bu kuralın erişilebilirliği temelinde kod tabanınızın hangi bölümlerinde çalıştırılacaklarını yapılandırabilirsiniz. Örneğin, kuralın yalnızca genel olmayan API yüzeyinde çalıştırılması gerektiğini belirtmek için projenizdeki bir .editorconfig dosyasına aşağıdaki anahtar-değer çiftini ekleyin:

dotnet_code_quality.CAXXXX.api_surface = private, internal

Not

XXXX CAXXXX bölümünü geçerli kuralın kimliğiyle değiştirin.

Soneklere izin ver

İzin verilen soneklerin listesini yapılandırabilirsiniz ve her sonek kanal karakteriyle ("|") ayrılmıştır. Örneğin, kuralın Flag ve Flags soneklerinde çalıştırılmaması gerektiğini belirtmek için projenizdeki bir .editorconfig dosyasına aşağıdaki anahtar-değer çiftini ekleyin:

dotnet_code_quality.ca1711.allowed_suffixes = Flag|Flags

Ayrıca bkz.