C # korumalı alanlar için büyük harf kullanımı kuralı


17

C # 'da korunan alan adları için büyük harf kullanımı kuralları nedir?

_MyVar (özel alan gibi) veya MyVar (benzer özellikler) mi?


3
Korumalı alanlara sahip olmak istediğinizden emin misiniz? Ortak alanlara sahip olmama nedenlerinin çoğu korunanlara da uygulanır, bu yüzden korumalı mülkleri kullanmak daha iyidir.
Kasım'da

Test durumlarında, normalde korunan alanlara sahip olmak uygundur .. ama belki de haklısınız özelliklerle değiştirilebilir. Ama korunan bir alan istiyorsam, adlandırma kuralı nedir?
Louis Rhys

2
_MyVar'ın özel alanlar için doğru sözleşme olduğundan emin misiniz? (öyle bir öneri hazırlıyorsunuz) Burada dini bir savaş başlatmaya çalışmak değil, sadece özel alanlar için bir tür keyfi kural seçtiyseniz, korunan alanlarınız için başka bir kural seçebileceğinizi söylemeye çalışın. Tek tavsiye tutarlı olmaktır.
Marek

Yanıtlar:


13

Microsoft tarafından yazılan Sınıf Kitaplıkları Geliştirme için Tasarım Yönergeleri adı verilen bir şey var .

Şöyle diyor:

Herkese açık veya korunan örnek alanları sağlamayın.

Genel ve korunan alanlar iyi sürüm oluşturmaz ve kod erişimi güvenlik talepleriyle korunmaz. Herkese görünür alanları kullanmak yerine, özel alanları kullanın ve bunları özellikler aracılığıyla gösterin.

Hem de:

  • Alan adlarında Pascal muhafazasını kullanma

  • Alan adları için önek kullanmayın. Örneğin, statik ve statik olmayan alanları ayırmak için g_ veya s_ kullanmayın.

_Önek gelince , this.kural kadar sık ​​kullanılır (CodePlex / GitHub'da kaynak koduna göz attığımı gördüğüm kadarıyla). Örneğin ReSharper, _adlandırma denetimlerinde tanıtım yapar.


"Alan adları için önek kullanma" ifadesini dahil etmemede biraz seçici oldunuz. Pascal kasa kuralının yanında MSDN'den :) Varsayılan olarak yeniden birleştirmenin _ önekini desteklediği doğru olsa da, MSDN sözleşmelerini IMHO'dan alıntı yapıyorsanız, bunları kendi izlenimlerinizle karıştırmamalısınız.
Marek

2
"iyi sürüm yok" ne anlama geliyor? Korunan alanın önerilmemesi nedeniyle adıyla ilgili bir kılavuz olmadığını mı söylüyorsunuz? Neyse, Resharper tavsiye gibi görünüyorMyVar
Louis Rhys

2
@Marek: Kendi tercihimi ekledim. Resharper'ın neyi tercih ettiğini söyledim. Ve benim niyetim seçici olmak değildi. Yanıt güncellendi
jgauffin

1
@jgauffin Kodunuza yansıma kullanan tüketicilerin yanı sıra, bir alanı arayanlar için şeffaf bir mülke dönüştürmüyor musunuz? Korumalı bir alanı aynı ada sahip korumalı bir özelliğe değiştirmek uyumluluğu nasıl bozar?
Quantic

1
ikili uyumluluğu
bozar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.