Programlamayla ilgilenenler değişkenlerin ne kadar önemli olduğunu bilirler. Neredeyse tüm programın bel kemiğini oluşturan değişkenlere isim vermek ise bazı durumlarda sorun olabiliyor. Özellikle yerel değişken kullanımlarında farklı fonksiyonlar içinde aynı isimde değişken verebiliyor olmak, bir süre sonra programcının aklını karıştırabiliyor. Değişken isimlerindeki sorunları çözmek için derleyiciler keyword diye tabir edilen
if,
int,
function gibi isimleri kullanmamıza zaten izin vermiyor. Bunun dışındaki değişken isimlerine ise programcının dikkat etmesi gerekmekte.
Visual Basic ile programlama yaparken açıkçası böyle bir sorunum yoktu. Genellikle form üzerindeki objeleri txtMetinkutusu, değişken isimlerini ise
degisken_ismi şeklinde isimlendirirdim. Ancak C# ile uygulama geliştirmeye başladığımda bu programlama dilinin case sensitive yani büyük/küçük harf duyarlı olmasından ötürü verdiğim değişken isimlerine dikkat etmem gerektiğini fark ettim.
Ayrıca degisken_ismi şeklindeki değişkenler süslü parantezli, noktalı virgüllü kod yığınları arasında pek de şık durmuyordu. Bazı oyun motorlarının programlanması sırasında geliştiriciler
ses_BuBirDegisken,
grafik_BuBirDegisken şeklinde değişken isimleri vererek nerede ne amaçla kullandıklarını görebiliyorlar. Sadece alt çizgi kullanılarak değişken isimlendirecek olsalardı ortaya
ses_bu_bir_degisken gibi bir değişken ismi çıkacaktı.
Tanıdığım programcı arkadaşlarıma bir bir değişken isimlerini nasıl verdiklerini sordum. Genellikle aldığım cevap benim yukarıda belirttiğim değişken ismine benzerdi. Sadece birkaç arkadaşım büyük harf ve küçük harfi bir arada kullanarak değişken isimleri oluşturuyordu. İşte bu büyük ve küçük harfi bir arada kullanarak değişken isimlendirme işlemine CamelCase ismi veriliyor.
ogrenci_notu yerine
OgrenciNotu gibi. Ancak bunun dışında Hungarian Notation yani Macar Notasyonunu bir arada kullanan programcılar da var.
Örneğin bir tam sayı değişkeni iOgrenciNotu şeklinde isimlendirerek ne tür bir değişken olduğunu da görebiliyorlar. CamelCase de kendi arasında lowerCamelCase ve UpperCamelCase olarak ikiye ayrılıyor. CamelCase, deve hörgücüne benzetildiğinden bu ismi almış. Ancak bu yöntem PascalCase olarak da bilinmektedir. Aslına bakılırsa değişken isimlendirme konusu neredeyse belli bir standarda oturmuş durumda. Yine de soralım;
Siz değişkenlerinizi nasıl isimlendiriyorsunuz?
A) lowerCamelCase: ogrenciNotu
B) UpperCamelCase: OgrenciNotu
C) Hungarian Notation: iOgrenciNotu
D) Underscore: ogrenci_notu