Sınıf, Yapı ve Arabirimlerin Adları

Not

Bu içerik, Çerçeve Tasarım Yönergeleri: Kurallar, Deyimler ve Yeniden Kullanılabilir .NET Kitaplıkları için Desenler, 2. Sürüm'den Pearson Education, Inc.'in izniyle yeniden yazdırılır. Bu baskı 2008'de yayımlandı ve kitap o zamandan beri üçüncü baskıda tamamen revize edilmiştir. Bu sayfadaki bazı bilgiler güncel olmayabilir.

Aşağıdaki adlandırma yönergeleri genel tür adlandırması için geçerlidir.

✔️ PascalCasing kullanarak isim veya isim tümceciği içeren DO ad sınıfları ve yapıları.

Bu, tür adlarını fiil tümcecikleriyle adlandırılan yöntemlerden ayırır.

✔️ Sıfat tümcecikleriyle veya bazen isim veya isim tümcecikleriyle DO adı arabirimleri.

İsimler ve isim tümcecikleri nadiren kullanılmalıdır ve türün arabirim değil soyut bir sınıf olması gerektiğini gösterebilir.

❌ Sınıf adlara bir ön ek VERMEYİN (örneğin, "C").

✔️ TÜRetilmiş sınıfların adını temel sınıfın adıyla sonlandırmaYı DÜŞÜNÜN.

Bu çok okunabilir ve ilişkiyi net bir şekilde açıklar. Kodda bunun bazı örnekleri şunlardır: ArgumentOutOfRangeExceptionbir tür Exceptionolan ve SerializableAttributetürü olan Attribute. Ancak, bu yönergenin uygulanmasında makul bir karar kullanmak önemlidir; örneğin, Button sınıfı adında görünmese Control de bir tür Control olaydır.

✔️ Türün bir arabirim olduğunu belirtmek için I harfiyle DO ön ek arabirimi adları.

Örneğin, IComponent (açıklayıcı isim), ICustomAttributeProvider (isim tümceciği) ve IPersistable (sıfat) uygun arabirim adlarıdır. Diğer tür adlarda olduğu gibi kısaltmalardan kaçının.

✔️ Sınıfın arabirimin standart bir uygulaması olduğu bir sınıf-arabirim çifti tanımlarken adların yalnızca arabirim adı üzerindeki "I" ön eki ile farklılık gösterdiğinden emin olun.

Genel Tür Parametrelerinin Adları

.NET Framework 2.0'a genel değerler eklendi. Özellik, tür parametresi olarak adlandırılan yeni bir tanımlayıcı türü kullanıma sunulmuştur.

✔️ Tek harfli ad tamamen açıklayıcı değilse ve açıklayıcı bir ad değer eklemediği sürece, açıklayıcı adlara sahip do name genel tür parametreleri.

✔️ Tek harfli tür parametresi olan türler için tür parametresi adı olarak kullanmayı T düşünün.

public int IComparer<T> { ... }
public delegate bool Predicate<T>(T item);
public struct Nullable<T> where T:struct { ... }

✔️ ILE DO ön ek açıklayıcı tür parametre adları T.

public interface ISessionChannel<TSession> where TSession : ISession {
    TSession Session { get; }
}

✔️ PARAMETREnin adında tür parametresine yerleştirilen kısıtlamaları BELIRTMEYİ DÜŞÜNÜN.

Örneğin, ile kısıtlanmış ISession bir parametre olarak adlandırılabilir TSession.

Ortak Türlerin Adları

✔️ DO, belirli .NET Framework türlerinden türetilen türleri adlandırırken veya uygularken aşağıdaki tabloda açıklanan yönergeleri izleyin.

Temel Tür Türetilen/Uygulanan Tür Yönergesi
System.Attribute ✔️ DO, özel öznitelik sınıflarının adlarına "Öznitelik" son ekini ekleyin.
System.Delegate ✔️ DO, olaylarda kullanılan temsilcilerin adlarına "EventHandler" sonekini ekler.

✔️ DO, "Callback" sonekini olay işleyicisi olarak kullanılanlar dışındaki temsilcilerin adlarına ekleyin.

❌ Temsilciye "Temsilci" sonekini EKLEMEYİN.
System.EventArgs ✔️ DO, "EventArgs" sonekini ekleyin.
System.Enum ❌ BU sınıftan TÜRETİlMEYİN; bunun yerine diliniz tarafından desteklenen anahtar sözcüğü kullanın; örneğin, C# dilinde anahtar sözcüğünü enum kullanın.

❌ "Enum" veya "Flag" sonekini EKLEMEYİN.
System.Exception ✔️ DO , "Özel Durum" son ekini ekleyin.
IDictionary
IDictionary<TKey,TValue>
✔️ DO, "Sözlük" sonekini ekleyin. Belirli bir koleksiyon türü olduğunu IDictionary unutmayın, ancak bu yönerge aşağıdaki daha genel koleksiyonlar kılavuzundan önceliklidir.
IEnumerable
ICollection
IList
IEnumerable<T>
ICollection<T>
IList<T>
✔️ DO, "Collection" sonekini ekleyin.
System.IO.Stream ✔️ DO, "Stream" sonekini ekleyin.
CodeAccessPermission IPermission ✔️ DO , "İzin" son ekini ekleyin.

Adlandırma Numaralandırmaları

Genel olarak numaralandırma türlerinin (sabit listeleri olarak da adlandırılır) adları standart tür adlandırma kurallarına (PascalCasing vb.) uymalıdır. Ancak, özellikle sabit listeleri için geçerli olan ek yönergeler vardır.

✔️ DO, değerleri bit alanları olmadığı sürece bir numaralandırma için tekil tür adı kullanır.

✔️ DO, bit alanları değer olarak da adlandırılan ve bayrak sabit listesi olarak da adlandırılan bir numaralandırma için çoğul tür adı kullanır.

❌ Numaralandırma türü adlarında "Enum" soneki KULLANMAYIN.

❌ Numaralandırma türü adlarında "Bayrak" veya "Bayraklar" soneklerini KULLANMAYIN.

❌ Numaralandırma değer adlarında bir ön ek KULLANMAYIN (örneğin, ADO sabit listeleri için "ad", zengin metin sabit listeleri için "rtf").

Porsiyonlar © 2005, 2009 Microsoft Corporation. Tüm hakları saklıdır.

Pearson Education, Inc. in Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraryes, 2nd Edition by Krzysztof Cwalina and Brad Abrams izniyle yeniden yazdırıldı ve 22 Ekim 2008'de Addison-Wesley Professional tarafından Microsoft Windows Geliştirme Serisi'nin bir parçası olarak yayımlandı.

Ayrıca bkz.