Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

Visual Studio – DebuggerDisplay Attribute’u İle Okunabilir Debugging

Merhaba,

Bu içeriğimizde biz .NET Developerların; günün büyük kısmını geçirdikleri platformu, en gözde çalışma arkadaşı ve yapılan işte en büyük yar ve yardımcısı olan Visual Studio(VS) derleyicisi hakkında güzel bir iyileştirmeden bahsedeceğiz.

Tadını alanlar bilir. Visual Studio, kod yazarken biz yazılımcılara oldukça yardımcı olmaktadır. Kütüphaneleri sayfaya refere etme esnekliğinden, sınıfların hangi kütüphaneden geldiğinden, break-point nimetinden, efendim NUGET’ından, TFS’sinden vs. vs.. onlarca hizmeti bize eksiksiz sağlayan, güzel bir otomasyondur Visual Studio… Tabi burada tüm nimetleri saymaya kalkarsak bu makale içerik olarak “İltifat-ı VS” başlığını hak edeceğinden dolayı hiç girmiyorum…

Şimdi yukarıda saydığım özelliklerin dışında birini daha ele alalım. Debugging yani Hata Ayıklama özelliğini. Bir projeyi derleyip çalıştırdığımız vakit break-point ile programın akışını kontrol edebiliyor ve Debugging sayesinde nesnelerin detaylarına erişebiliyoruz.

Mesela aşağıdaki “MyClass” sınıfı ele alalım.
Visual Studio - DebuggerDisplay Attribute'u İle Okunabilir Debugging

Görüldüğü üzere Debugging anında örneklendirilen nesne hakkında bilgi edinebiliyoruz. Dikkat ederseniz “MyClass” nesnesi “ConsoleApp36” kütüphanesinin içerisinde bulunuyormuş. Yani derleyicimiz şimdilik bize bu bilgiyi vermektedir. İşte bu tarz Debugging anındaki nesneler hakkındaki bilgileri DebuggerDisplay attributeu ile daha da okunabilir hale yahut istediğimiz başka bilgilerle getirebiliriz.

Şöyle ki;
Visual Studio - DebuggerDisplay Attribute'u İle Okunabilir Debugging
Görüldüğü üzere DebuggerDisplay niteliğinin işlevselliği okunabilir Debugging sunmaktadır. Yani bir derleyiciye bu yeniliği kazandırdığımıza göre bu işlevselliği VS’ye bir nevi öğretiyoruz diyebiliriz.

Ayrıca DebuggerDisplay attributeunu sınıf içerisindeki bir property eşliğinde de kullanabiliriz.

Visual Studio - DebuggerDisplay Attribute'u İle Okunabilir Debugging

Burada ilgili propertynin adını attributea verirken süslü parantezleri “{}” kullandığımıza dikkat ediniz. Ayriyetten bu propertyi sade ve sadece derleyici kullanacağı için private olarak ayarlanması doğru mantıkta olsa gerek…

Eğer ki DebuggerDisplay niteliğini bir propertyde kullanmayı tercih ediyorsak tabi ki de içerisinde işlemsel ya da algoritmik çalışmaları icra edebilir ve neticelerini niteliğimiz aracılığıyla Debugging’de sergileyebiliriz.

Son olarak bu attributeun benim açımdan asıl güzel yanını değerlendirmeye gelebiliriz. Koleksiyon yapılarının içerisindeki elemanlar üzerinde Debugging anında aritmatik işlemler yaparak her bir elemanın hesaplanmış verilerini liste şeklinde aşağıdaki gibi görebiliriz. Dipnot: Örneklendirme Northwind veritabanı üzerinde gerçekleştirilmektedir.

    [DebuggerDisplay("{View}")]
    public partial class Kategoriler
    {
        public int KategoriID { get; set; }
        public string KategoriAdi { get; set; }
        .
        .
        .
        string View { get => $"{this.KategoriAdi} | Count(Ürün) : {Urunler.Count}"; }
    }

Visual Studio - DebuggerDisplay Attribute'u İle Okunabilir Debugging

Gördüğünüz gibi koleksiyon içerisindeki elemanlar hakkında Debugging anında daha okunabilir ve gerçekten işe yarar, yönlendirici, bilgilendirici bir veri gösterebilmiş olduk.

DebuggerDisplay niteliğini class ve struct yapıları üzerinde kullanabilirsiniz.

Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*