Bu blog yazıma konu olarak programcılıkta isimlendirmenin önemini seçtim ancak mesele aslında bir kitap yazdıracak kadar mühimdir. Hatta bu konuyu kitaplarına konu almış programcılar da mevcuttur.
Bilgisayar bilimine yıllarını vermiş kişilerden bu konunun aslında zorlayıcı bile olduğunu duyunca insan bir kez daha durup düşünüyor. Phil Karlton şu sözlerle isimlendirmenin zorluğundan bahsetmiştir: “There are only two hard things in Computer Science: cache invalidation and naming things”. Yani bilgisayar biliminde en zor iki şeyden biri isimlendirmelerdir.
Bilgisayar bilimine programlama branşı açısından baktığımızda mimari tarafında, kodlama sırasında ve veri tabanlarında yapılan isimlendirmeler, bir sistemin anlaşılabilir olması açısından çok önemlidir. Anlaşılabilirliğin sağlanması için programcılar olarak niyetimizi ortaya koyan isimlendirmeler yapmalıyız. Doğru isimler bulmak, iş modeline göre veya sistemin büyüklüğüne göre zorlaşabilir. Yazılım ve mimari genişledikçe verilen isimler birbirine benzemeye başlayabilir. Benzerliklerin artması ise kafa karışıklığına yol açar.
Doğru isimleri bulduğumuzda ise dikkat etmemiz gereken bir diğer husus, okunabilirlik kurallarına uymaktır. Yani yazdığımız isimler okunuş açısından gözü rahatsız etmemeli ve kısaltmalardan arındırılmış olmalıdır.
Oluşturulan sistemin her elemanına verilen isim özenle seçilmelidir. Sistemin elemanı bir mimari katman olabileceği gibi bir sınıfa ait bir üye de olabilir, bir veritabanı tablosu da olabilir.
Kendi tecrübelerim adına söyleyeyim, kodlama sırasında sınıflara veya sınıf üyelerine verdiğim isimler kafamda oturuncaya kadar onları birçok kez yazıp değiştirdiğim olur. İsmiyle özdeşleşmeyen nesnelere kafayı takarım desem hiç yanlış olmaz. Bu alışkanlığa nereden kapıldığımı da söyleyeyim, ta ki programlamada isimlendirme teamüllerini (Naming Conventions) okudum ve uygulamaya başladım, bu alışkanlık o gün bugündür benimle beraberdir. Aslında bu şikayet ettiğim değil sevindiğim bir durumdur. Alışkanlıklarım kodlama ile başladı, proje isimleri ile devam etti, veritabanı tablo isimleri derken dosya isimlerini bile özenle seçer hale geldim.
Programcılıkta isimlendirme meselesine gerçekten dikkat edilmesi gerekir. Çünkü isimlendirme, programcılıkta artık bir standart halini almıştır. İşin üstatları olarak bilinen birçok programcı buna dikkat ediyor. Önder yazılım firmaları ve programcıların oluşturduğu açık kaynak(open source) kodları açıp incelediğimizde bunu rahatlıkla görebiliriz. Amacının dışında bir isimlendirmenin olmadığını hemen fark edebiliriz. Düzenli ve sistemli bir çalışmanın isimlendirmelere de yansıdığını hemen anlayabiliriz. Yani isimlendirme kuralları düzenli, okunabilir ve anlaşılabilir sistemler için bir standart olmuştur.
Eğer standartlara uygun bir Framework, API v.s yazmak istiyorsak dikkat edeceğimiz noktalardan biri isimlendirmelerdir.
İlham kaynağım:
MSND Naming Conventions
Clean Code