Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kod stili dil kuralları, .NET programlama dillerinin çeşitli yapılarının (örneğin, değiştiriciler ve parantezler) nasıl kullanıldığını etkiler.
Bu kategori, kod tabanının gereksiz olan ve yeniden düzenlenebilen veya kaldırılabilir bölümlerini tanımlayan kuralları da içerir. Gereksiz kodun varlığı aşağıdaki sorunlardan birini veya daha fazlasını gösterir:
- Okunabilirlik: Okunabilirliği gereksiz yere düşüren kod.
- Sürdürülebilirlik: Refaktoringden sonra artık kullanılmayan ve bunun sonucunda gereksiz yere korunan kod.
- Performans: Yan etkisi olmayan ve gereksiz performans ek yüküne yol açan gereksiz hesaplama.
- İşlevsellik: Kodda gerekli kodu yedekli hale getiren işlevsel sorun. Örneğin, IDE0060, metodun yanlışlıkla bir giriş parametresini yoksaydığı durumlarda kullanılmayan parametreleri belirler.
Dil kuralları aşağıdaki kategorilere ayrılır:
- .NET stil kuralları: Hem C# hem de Visual Basic için geçerli kurallar. Bu kuralların seçenek adları ön ekiyle
dotnet_style_
başlar. - C# stili kuralları: C# koduna özgü kurallar. Bu kuralların seçenek adları ön ekiyle
csharp_style_
başlar. - Visual Basic stil kuralları: Visual Basic koduna özgü kurallar. Bu kuralların seçenek adları ön ekiyle
visual_basic_style_
başlar.
Seçenek biçimi
Dil kurallarının çoğunda tercih edilen stili özelleştirmek için bir veya daha fazla ilişkili seçenek vardır. Örneğin, Basit 'using' ifadesi (IDE0063), bir using
bildirimi veya csharp_prefer_simple_using_statement
ifadesi tercih edip etmediğinizi belirlemenize olanak tanıyan ilişkili bir seçeneğe sahiptir. Belirtilen bir düzeyde, örneğin uyarı veya hata, hangi seçenekleri seçerseniz, kural bunları uygular.
Dil kuralları seçenekleri aşağıdaki biçime sahip bir yapılandırma dosyasında belirtilebilir:
option_name = value
(Visual Studio 2019 ve üzeri)
veya
option_name = value:severity
Value
Her dil kuralı için, stilin ne zaman veya ne zaman tercihleneceğini tanımlayan bir değer belirtirsiniz. Birçok kural değerini
true
kabul eder (bu stili tercih eder) veyafalse
(bu stili tercih etmeyin). Diğer kurallarwhen_on_single_line
veyanever
gibi değerleri kabul eder.Önem derecesi (Visual Studio 2019 ve sonraki sürümlerde isteğe bağlı)
Kuralın ikinci bölümü, kuralın önem düzeyini belirtir. .NET 9 ve sonraki sürümlerde önem derecesi her zaman dikkate alınmaktadır; yani geliştirme IDE'leri içinde ve komut satırı derlemeleri sırasında. .NET 8 ve önceki sürümlerde, bu önem derecesi ayarı yalnızca Visual Studio gibi geliştirme IDE'leri içinde dikkate alınır, derleme sırasında ise alınmaz.
.NET 8 SDK'sını veya önceki bir sürümü kullanıyorsanız ve önem derecesine derleme zamanında uyulmasını istiyorsanız, bunu iki yoldan biriyle yapabilirsiniz:
-
<AnalysisLevel> veya
<AnalysisLevelStyle>
özelliğini9.0
veya daha yüksek bir değere, ya dapreview
olarak ayarlayın. - Bunun yerine çözümleyiciler için kimlik tabanlı önem derecesi yapılandırma söz dizimini kullanarak önem derecesini ayarlayın. Söz dizimi biçimindedir
dotnet_diagnostic.<rule ID>.severity = <severity>
, örneğin,dotnet_diagnostic.IDE0040.severity = warning
. Daha fazla bilgi için bkz önem düzeyi.
-
<AnalysisLevel> veya
İpucu
Visual Studio 2019'dan başlayarak, bir stil ihlali oluştuktan sonra Hızlı Eylemler ampul menüsünden kod stili kurallarını yapılandırabilirsiniz.
Kural dizini
Dil ve gereksiz kod kuralları, ifade düzeyi tercihleri, kod bloğu tercihleri ve değiştirici tercihler gibi alt kategorilere ayrılır.
-
using
yönerge tercihleri - Kod bloğu tercihleri
- İfade temelli üyeler
- İfade düzeyi tercihleri
- Alan tercihleri
- Dil anahtar sözcüğü ile çerçeve türü tercihleri karşılaştırması
- Değiştirici tercihleri
- Yeni satır tercihleri
- Null Kontrolü Tercihleri
- Parametre tercihleri
- Parantez tercihleri
- Desen eşleştirme tercihleri
- Gizleme tercihleri
-
This.
veme.
tercihleri -
var
Tercihler
using
yönerge tercihleri
.NET stil kuralları (C# ve Visual Basic):
C# stil kuralları:
Kod bloğu tercihleri
C# stil kuralları:
- Ayraç ekleme (IDE0011)
- Basit 'using' deyimini kullanma (IDE0063)
- Ad alanı bildirim tercihleri (IDE0160, IDE0161)
- Gereksiz lambda ifadesini kaldırma (IDE0200)
- Üst düzey deyimlere dönüştürme (IDE0210)
- 'Program.Main' stilinde bir programa dönüştür (IDE0211)
- Birincil oluşturucu kullanma (IDE0290)
- 'System.Threading.Lock' (IDE0330) tercih edin
İfade gövdeli üyeler
C# stil kuralları:
- Oluşturucular için ifade gövdesini kullanma (IDE0021)
- Yöntemler için ifade gövdesini kullanma (IDE0022)
- İşleçler için ifade gövdesini kullanma (IDE0023, IDE0024)
- Özellikler için ifade gövdesini kullanma (IDE0025)
- Dizin oluşturucular için ifade gövdesini kullanma (IDE0026)
- Erişimciler için ifade gövdesi kullanın (IDE0027)
- Lambdalar için ifade gövdesi kullanın (IDE0053)
- Yerel işlevler için ifade gövdesini kullanma (IDE0061)
İfade düzeyinde tercihler
.NET stil kuralları (C# ve Visual Basic):
- Adı basitleştirme (IDE0001)
- Üye erişimini basitleştirme (IDE0002)
- Gereksiz dönüştürmeyi kaldır (IDE0004)
- Switch ifadesine eksik durumları ekle (IDE0010)
- Nesne başlatıcıları kullanma (IDE0017)
- Koleksiyon başlatıcıları kullanma (IDE0028)
- "Null" kontrolü basitleştirilebilir (IDE0029, IDE0030, IDE0270)
- Null yayma (IDE0031) kullanın
- Otomatik uygulanan özelliği kullanma (IDE0032)
- Açıkça sağlanan tuple adını (IDE0033) kullanın
- Ulaşılamayan kodu kaldırma (IDE0035)
- Çıkarsanan üye adlarını kullanma (IDE0037)
- 'is null' denetimi kullan (IDE0041)
- Atama için koşullu ifade kullanma (IDE0045)
- Dönüş için koşullu ifade kullanma (IDE0046)
- Anonim türü tanımlama grubuna dönüştürme (IDE0050)
- Kullanılmayan özel üyeyi kaldırma (IDE0051)
- Okunmamış özel üyeyi kaldırma (IDE0052)
- Bileşik atama kullan (IDE0054, IDE0074)
- Gereksiz ifade değerini kaldırma (IDE0058)
- Gereksiz değer atamasını kaldırma (IDE0059)
- 'System.HashCode.Combine' kullanma (IDE0070)
- İlişkilendirmeyi basitleştirme (IDE0071)
- Koşullu ifadeyi basitleştirme (IDE0075)
-
typeof
'ınameof
'e dönüştür (IDE0082) - Gereksiz eşitlik işlecini kaldırma (IDE0100)
- LINQ ifadesini basitleştirme (IDE0120)
- Ad alanı klasör yapısıyla eşleşmiyor (IDE0130)
C# stil kuralları:
- Throw ifadesini kullanma (IDE0016)
- Satır içi değişken bildirimi (IDE0018)
- 'default' ifadesini basitleştirme (IDE0034)
- Lambda yerine yerel işlevi kullanma (IDE0039)
- Değişken bildirimini kaldırma (IDE0042)
- Dizin işlecini kullanma (IDE0056)
- Aralık işlecini kullanın (IDE0057)
- Eksik durumları anahtar ifadesine ekle (IDE0072)
- Gereksiz gizleme işlecini kaldırma (IDE0080)
-
İfadeyi basitleştirme
new
(IDE0090) - Gereksiz atma'yı kaldır (IDE0110)
- Tür denetimi (IDE0150) yerine 'null' denetimini tercih edin
- Değerleri değiştirmek için demet kullanma (IDE0180)
- foreach döngüsüne açık atama ekleme (IDE0220)
- UTF-8 karakter dizisi sabiti kullan (IDE0230)
- Null atanabilir yönerge yedekli (IDE0240)
- Null yapılabilir olan yönerge gereksiz (IDE0241)
- Dizi için koleksiyon ifadesi kullanın (IDE0300)
- Boş (IDE0301) için koleksiyon ifadesi kullanma
- Stack alloc için koleksiyon ifadesini kullanma (IDE0302)
-
(IDE0303) için
Create()
koleksiyon ifadesini kullanma - Oluşturucu için koleksiyon ifadesi kullanma (IDE0304
- Koleksiyon ifadesini daha akıcı hale getirmek için kullanın (IDE0305)
- Yeni (IDE0306) için koleksiyon ifadesini kullanma
Visual Basic stil kuralları:
-
Kaldır
ByVal
(IDE0081) -
Desen eşleştirme (
IsNot
işleç) kullanma (IDE0084) - Nesne oluşturmayı basitleştirme (IDE0140)
Alan tercihleri
.NET stil kuralları (C# ve Visual Basic):
Dil anahtar sözcüğü ile çerçeve türü tercihleri karşılaştırması
.NET stil kuralları (C# ve Visual Basic):
Değiştirici tercihleri
.NET stil kuralları (C# ve Visual Basic):
C# stil kuralları:
- Yerel işlevi statik yapma (IDE0062)
- Yapı alanlarını yazılabilir hale getirme (IDE0064)
- Bir yapı 'salt okunur' olarak tanımlanabilir (IDE0250)
- Üye 'salt okunur' olarak yapılabilir (IDE0251)
- Anonim işlevi statik yapma (IDE0320)
Yeni satır tercihleri
- Birden çok boş satıra izin ver (IDE2000)
- Aynı satırda eklenmiş deyimlere izin ver (IDE2001)
- Ardışık ayraçlar arasında boş satırlara izin ver (IDE2002)
- Blok sonrasında hemen allow deyimi (IDE2003)
- Oluşturucu başlatıcısında iki nokta üst üste geçtikten sonra boş satıra izin ver (IDE2004)
- Koşullu ifadede belirteç sonrasında boş satıra izin ver (IDE2005)
- Ok ifadesinde belirteçten sonra boş satıra izin ver (IDE2006)
Null denetleme tercihleri
C# stil kuralları:
Parametre tercihleri
.NET stil kuralları (C# ve Visual Basic):
Parantez tercihleri
.NET stil kuralları (C# ve Visual Basic):
Desen eşleştirme tercihleri
C# stil kuralları:
- 'as' ifadesini ve ardından gelen 'null' denetimini önlemek için desen eşleştirmeyi kullanın (IDE0019)
- 'is' denetiminin ardından tür dönüşümünü önlemek için desen eşleştirmeyi kullanın (IDE0020, IDE0038)
- Switch ifadesini kullanma (IDE0066)
- Desen eşleştirmeyi kullanma (IDE0078 ve IDE0260)
-
Desen eşleştirme (
not
işleç) kullanma (IDE0083) - Özellik düzenini basitleştirme (IDE0170)
Gizleme tercihleri
.NET stil kuralları (C# ve Visual Basic):
This.
ve me.
tercihleri
.NET stil kuralları (C# ve Visual Basic):
var
Tercihler
C# stil kuralları: