Bir projenin sürdürülebilirliğindeki en önemli noktalardan bir tanesi mümkün olduğu kadar az "magic string" kullanmaktır. Çünkü sabit metinlerin tanımlanması belirli bir süre sonra projenin anlaşılabilirliğini azaltan en önemli özelliklerden bir tanesidir ve çoğu programlama dili string verilerinin doğruluğunu kontrol etmediği ve yaptığınız bir değişikliği her yerde yapmak zorunda olduğunuz için zamanla uygulamalarınızda beklenmedik hatalarla veya olumsuz durumlarla karşılaşabilirsiniz.
C# programlama dilinde bu gibi sorunların tamamını çözmese de belirli bir oranda çözüm üreten nameof özelliği bu makalede incelenecektir. Konunun basitliği açısından kısa örnekle de konuyu açıklaya çalışacağım.
Bazı durumlarda kod içerisinde kullandığımız değişkenlerin metotların isimlerini string olarak yazma gereği duyarız. Çoğu zaman bu zorunluluk haline de gelir. Örneğin, bir metoda gelen parametrelerden biri null ise ArgumentNullException içerisinde gelen parametrenin adını yazarız.
void Foo(Bar bar) { if(bar==null) { throw new ArgumentNullException("bar"); } }
İşte bu gibi durum ve örneklerinde magic string'den kurtulmak ve kod kalitesini de aynı oranda artırmak için nameof özelliği kullanılır.
C# programlama dilinde nameof operatörü parametre olarak verilen değişken ve ya sınıf adını string olarak geri döndürmek için kullanılmaktadır.
Bu durumda yukarıdaki kod kısmı aşağıdaki gibi bir koda dönüştürülecektir.
void Foo(Bar bar) { if (bar == null) { throw new ArgumentNullException(nameof(bar)); } }
Verilen örneğin konuyu anlamanız açısından yeterli olduğunu düşünüyorum. Bundan sonrası sizin konuyu anlamaktan çok uygulamanıza bağlı. Bu yüzden geliştirdiğiniz projelere bir göz atın ve olabilecek optimizastonları yapın...
Tekrar tekrar söylüyorum: Siz siz olun mümkün olduğu kadar projelerinizde string kullanımından kaçının...
Umarım makalem faydalı olmuş ve sizin de kod geliştirme seviyenizin artmasına bir katkıda bulunmuştur.
Yorumlar
Yorum Gönder