Temiz ve Sürdürülebilir Kod İçin Değişken İsimlendirme Rehberi
![]() |
| Camel White is son of the Walter White |
Yazılım geliştirme sürecinde kodun kalitesi ve sürdürülebilirliği dikkat edilmesi gereken noktalardan birkaçıdır. Kodun açık ve anlaşılır bir yapıda olması, hem geliştirme sürecini hızlandırır hem de kodun bakımını kolaylaştırır. Değişkenlerin doğru isimlendirilmesi, yazılımcının ve ekibin kodu daha iyi anlamasını sağlar ve uzun vadede projeye büyük katkıda bulunur.
Neden İyi Bir Değişken İsimlendirme Stratejisi Gerekli ?
Değişken isimlendirme, yazılım geliştirme sürecinde genellikle göz ardı edilen, ancak uzun vadede büyük önem taşıyan bir konudur. Yazılım Mühendisliği Enstitüsü (SEI) ve IEEE Software Engineering Body of Knowledge (SWEBOK) gibi uluslararası organizasyonlar, temiz kod yazımının temelinde anlamlı değişken isimlendirmelerinin yattığını belirtmektedir. Yanlış ya da belirsiz değişken isimleri, kodun okunmasını ve bakımını zorlaştırırken, doğru isimlendirme stratejileri kodu daha anlaşılır ve yönetilebilir hale getirir.
Bir projenin büyüklüğü arttıkça, değişkenlerin doğru isimlendirilmesi özellikle önemli hale gelir. Bu durum sadece takım içi iş birliğini güçlendirmekle kalmaz, aynı zamanda projenin ilerleyen safhalarında kodun yeniden düzenlenmesini kolaylaştırır.
Değişken İsimlendirme Stratejileri
1. Anlamlı ve Açıklayıcı İsimler Kullanın
Değişken isimleri, kodun ne yaptığını açıkça anlatmalıdır. Yetersiz ve kısa değişken isimleri, ilerleyen aşamalarda kodun ne amaçla yazıldığını anlamayı zorlaştırır. Örneğin, “a” veya “x” gibi tek harfli değişkenler yerine, neyi temsil ettiklerini açıkça anlatan isimler kullanılmalıdır.
2. Tutarlılığı Sağlayın
Tutarlılık, hem proje içinde hem de genel yazılım geliştirme sürecinde büyük önem taşır. Aynı türdeki değişkenler için tutarlı isimlendirme kuralları izlemek, kodun okunabilirliğini artırır. Örneğin, değişken isimlerinde bir projede CamelCase kullanıyorsanız, bu stili tüm proje boyunca uygulamalısınız.
3. Kısaltmalardan Kaçının
Kısaltmalar, kodu yazarken zaman kazandırabilir ancak uzun vadede kodun anlaşılmasını zorlaştırır. Kısaltmaların yalnızca iyi bilinen ve yaygın kullanılan durumlarda tercih edilmesi gerekir. Bunun dışında, her kelime tam olarak yazılmalı ve anlaşılır olmalıdır.
4. Bağlamsal İsimler Kullanın
Değişken isimleri, kodun bağlamını da açıklamalıdır. Örneğin, bir döngü içinde kullanılan değişkenin amacı sadece saymak değil, aynı zamanda neyi saydığını ifade etmelidir. Stanford Üniversitesi tarafından yapılan bir araştırma, bağlamsal isimlerin programcıların zihinsel yükünü azalttığını ve hata oranlarını düşürdüğünü göstermektedir.
Örnek : "i" değişkeni neyin sayıldığını tam olarak ifade etmiyor.
int total = 100;
for (int i = 0; i < total; i++) {
std::cout << i << std::endl;
}
"studentIndex" değişkeni, öğrencileri saymak için kullanıldığını açıkça belirtiyor.
int totalStudents = 100;
for (int studentIndex = 0; studentIndex < totalStudents; studentIndex++) {
std::cout << "Student " << studentIndex + 1 << std::endl;
}
Değişken İsimlendirme Yöntemleri
1. Camel Case : Bu yöntemde, ilk kelimenin ilk harfi küçük, sonraki kelimelerin ilk harfi büyük olur.
Örneğin:
- studentIndex
- userName
- firstVelocity
- workingMode
- fileUploadState
2. Pascal Case : Bu yöntemde, değişken ismi birden fazla kelimenin bir araya gelmesiyle oluşturulur ve her kelimenin baş harfi büyük yazılır.
Örneğin:
- StudentIndex
- UserName
- FirstVelocity
- WorkingMode
- FileUploadState
3. Snake Case : Bu yöntemde, değişken ismi birden fazla kelimenin alt tire (_) ile birbirine bağlanmasıyla oluşturulur. Genellikle tüm harfler küçük yazılır.
Örneğin:
- student_index
- user_name
- first_velocity
- working_mode
- file_upload_state
4. Kebab Case : Bu yöntemde, değişken ismi birden fazla kelimenin tire (-) ile birbirine bağlanmasıyla oluşturulur. Genellikle tüm harfler küçük yazılır.
Örneğin:
- student-index
- user-name
- first-velocity
- working-mode
- file-upload-state
5. Tür Belirleyici Önekler (Hungarian Notation)
Eskiden yazılım dünyasında sıkça kullanılan Hungarian Notation, değişken isimlerine veri türünü belirten önekler eklemeyi savunuyordu. Örneğin, bir tamsayı için iCount, bir string için strName gibi önekler eklenirdi. Bu yöntem, geliştiricilerin değişkenin türünü kolayca anlamasına yardımcı oluyordu.
Ancak, modern programlama dillerinde bu tür önekler artık gereksiz hale geldi. Swift, Python, C# gibi diller veri türlerini otomatik olarak algılayabiliyor. Yani, veri türünü belirten önekler eklemeye gerek kalmıyor. Bunun yerine, değişken isimlerinin açık ve anlamlı olması daha önemli.
Örneğin,
strUserName yerine sadece userName demek yeterli.
Çünkü modern dillerde isimlendirme, veri türünü belirtmekten ziyade kodun amacını net bir şekilde ifade etmeye odaklanıyor. Sonuç olarak, günümüzde programlama dilleri değişken türlerini otomatik olarak tanımlasa da, değişken türünü belirten kısaltmalar hâlâ yaygın olarak kullanılmaktadır. Bu yöntemi kullanıp kullanmamak size bağlıdır. Ancak, dönemin gerekliliklerine ayak uydurmak adına Hungarian Notation'ı kullanmamanızı öneririm.
Sonuç
Değişken isimlendirme, yazılım geliştirme sürecinde temiz ve sürdürülebilir kodun temel taşlarından biridir. Anlamlı ve tutarlı isimler kullanmak, hem kısa vadede projeyi hızlandırır hem de uzun vadede kodun bakımını kolaylaştırır. Google, Microsoft ve Apple gibi teknoloji devlerinin rehberlerinde bu konuda çok sayıda öneri bulunurken, akademik dünyada da değişken isimlendirme üzerine yapılan çalışmalar bu konunun önemini vurgulamaktadır. Yazılım dünyasında daha ileri düzey kod kalitesine ulaşmak isteyen yazılımcılar, bu temel stratejileri uygulayarak sürdürülebilir projeler geliştirebilirler.
