Değişken isimleri nasıl seçilir? Kodun okunabilir olması için bir değişkenin adı, tuttuğu değeri ve mümkünse bu değerin kod içindeki kullanım amacını açıklamalıdır. Kısa isimler her zaman iyi seçim değildir. Birkaç karakter kazanmak, kodu okuyan kişinin anlamı tahmin etmesini gerektiriyorsa okunabilirlik azalır.
İyi bir adlandırma yaklaşımı, değişkenleri yalnızca yazım biçimine göre değil, programdaki rollerine göre değerlendirmeyi gerektirir. Bu sayede kod, ilk yazıldığı andaki bağlamdan bağımsız olarak daha kolay takip edilebilir.
Anlaşılır bir değişken adı nasıl seçilir?
Değişken adı, tuttuğu değeri ve mümkünse kod içindeki kullanım amacını anlatmalıdır. Bir değişken öğrenci sayısını tutuyorsa student_count, seçilmiş öğrenciyi tutuyorsa selected_student gibi bir ad, x veya data adlarına göre daha fazla anlam taşır. Buradaki amaç, en uzun adı seçmek değil, gerekli anlamı gereksiz kelimeler eklemeden aktarmaktır.
Anlamlı ad ile gereksiz uzun ad arasındaki farkı şu ölçütle anlayabilirsin: Bu değişkeni kodu ilk kez okuyan biri, değerine bakmadan anlayabilir mi? Örneğin completed_lesson_count adında değişkenin tamamlanan dersleri saydığı anlaşılır. Aynı rol için number adı kullanılırsa, değerin neyi saydığı ancak kodun diğer satırları incelenerek bulunabilir.
Değişken adının anlaşılır olması, yazım biçiminin her dilde aynı olması anlamına gelmez. Küçük harf, alt çizgi veya bitişik yazım gibi tercihler dilin ve projenin stil kurallarına göre değişebilir. Değişmeyen temel ilke, adın veriyi ve rolü açıkça göstermesidir.
Bu yaklaşım, algoritma kurarken verileri görevlerinden ayırmayı da kolaylaştırır. Bir değerin ne olduğunu, hangi işlemin parçası olduğunu ve başka değerlerden nasıl ayrıldığını değerlendirmek için dilden bağımsız Algoritmik Düşünme Testi gibi alıştırmalar kullanılabilir.
Değişkenin rolüne göre isim nasıl kurulur?

İsim seçmeye değerin türünden önce rolünü düşünerek başlayabilirsin. Aynı türdeki iki değer, programda farklı görevler üstlenebilir. Bu nedenle yalnızca metin, sayı veya liste olması yeterli değildir.
- Metin: Kullanıcı adını tutan bir değişken için
user_name, arama metni içinsearch_termgibi adlar kullanılabilir. - Sayı: Toplam puan için
total_score, ürün adedi içinitem_countdaha açıklayıcıdır. - Tarih veya zaman bilgisi: Başlangıç tarihini tutan değer için
start_date, teslim tarihini tutan değer içindue_datedenebilir. - Doğru veya yanlış durumu:
is_ready,has_permissionvecan_retrygibi adlar, değişkenin bir durum belirttiğini sezdirir. - Birden fazla değer: Öğrencileri tutan koleksiyon için
students, ders adlarını tutan koleksiyon içinlesson_namesgibi çoğul veya koleksiyon anlamı taşıyan adlar seçilebilir.
Boolean değişkenlerde adı bir soruya dönüştürmek yararlı olabilir: “Hazır mı?”, “İzni var mı?”, “Tekrar deneyebilir mi?” Bu sorulara doğru veya yanlış şeklinde cevap verilebiliyorsa is, has ve can biçimleri anlaşılmayı destekleyebilir. Ancak bu biçimler her dil ve proje için zorunlu değildir; önemli olan, adın durum bilgisini açıkça hissettirmesidir.
Sayaç ile sıra numarasını da ayırmak gerekir. completed_lesson_count tamamlanan derslerin kaç tane olduğunu belirtir. lesson_number ise belirli bir dersin sırasını gösterir. Biri toplamı, diğeri konumu anlatır. Benzer şekilde, tek bir öğrenciyi temsil eden selected_student ile birden fazla öğrenciyi tutan students aynı amaçla kullanılmamalıdır.
Rolleri görünür kılan kısa örnek
student_name = "Ada"
has_homework = True
completed_lesson_count = 3
lesson_names = ["Döngüler", "Listeler"]
print(student_name)
print(has_homework)
print(completed_lesson_count)
print(lesson_names)
Beklenen çıktı:
Ada
True
3
['Döngüler', 'Listeler']
Bu örnekte alt çizgi kullanımı Python yazım biçimidir. Asıl önemli nokta, değişkenlerin metin, durum, sayaç ve koleksiyon rollerinin adlarından anlaşılmasıdır. Kısa bir döngüde yalnızca sıra değerini temsil eden i gibi bir ad bağlam yeterince açıksa kullanılabilir. Döngü büyüdüğünde veya aynı anda birden fazla indeks bulunduğunda item_index gibi daha açıklayıcı bir ad seçmek okunabilirliği artırabilir.
Kapsam ve dil kuralları isim seçimini nasıl değiştirir?

Bir değişken adının açıklayıcılık düzeyi, kullanıldığı kapsamla birlikte değerlendirilmelidir. Kısa bir döngü içinde yalnızca birkaç satır kullanılan i adı, indeks rolü açıkça görülüyorsa anlaşılabilir olabilir. Aynı ad fonksiyonun tamamında veya daha geniş bir kapsamda kullanıldığında ise okuyucunun değişkenin neyi temsil ettiğini anlaması zorlaşır. Kapsam büyüdükçe, değişkenin değerini ve görevini anlatan adlar daha önemli hâle gelir.
Örneğin bir döngüde item adı, listedeki tek bir ürünü temsil ediyorsa yeterince açıktır. Ancak fonksiyon boyunca farklı türde veriler işleniyorsa product, product_price veya discount_rate gibi daha belirgin adlar tercih edilebilir. Buradaki amaç adı gereksiz yere uzatmak değil, değişkenin rolünü çevresindeki kodu incelemeden anlaşılır kılmaktır.
Kısaltmalar da kapsamla birlikte dikkatle seçilmelidir. Ekip veya proje içinde açıkça anlaşılan bir kısaltma kullanılabilir. Bunun dışında amt, tmp veya data2 gibi anlamı belirsiz adlar yerine total_amount, temporary_result veya verinin içeriğini belirten daha açıklayıcı adlar seçmek daha sağlıklıdır.
Değişken adı, kullanılan dilin ayırdığı anahtar sözcüklerle ve aynı kapsamda bulunan mevcut isimlerle çakışmamalıdır. Bir dilde anahtar sözcük olarak ayrılmış bir ad, değişken adı olarak kullanılamaz veya beklenmeyen sonuçlara yol açabilir. Ayrıca aynı isimle farklı değerleri temsil etmek, okuyucunun hangi değerin kullanıldığını takip etmesini zorlaştırır.
Bu ilkeler, isimlerin nasıl yazılacağına ilişkin her ayrıntıyı belirlemez. Kelimelerin alt çizgiyle ayrılması, birleşik yazılması veya büyük harf biçiminin seçilmesi kullanılan dile ve projenin stil rehberine bağlı olabilir. Evrensel olan nokta, biçimden önce anlamın açık olması ve aynı projede tutarlı davranılmasıdır.
Zayıf ve iyi isimlendirilmiş kod arasındaki fark nasıl görülür?
Aşağıdaki iki Python örneği aynı alışveriş toplamını hesaplar. Python burada yalnızca gösterim dilidir. Asıl karar ölçütü, değişken adının değerini, rolünü ve kullanım amacını okuyucuya ne kadar açık aktardığıdır.
Zayıf isimlendirilmiş sürüm:
items = [100, 80, 70]
x = sum(items)
y = x >= 250
print(x)
print(y)
İyi isimlendirilmiş sürüm:
product_prices = [100, 80, 70]
total_price = sum(product_prices)
reaches_discount_limit = total_price >= 250
print(total_price)
print(reaches_discount_limit)
Her iki sürümün beklenen çıktısı aynıdır:
250
True
| Zayıf isim | İyi isim | Okuyucuya verdiği ipucu |
|---|---|---|
items |
product_prices |
Listenin ürünleri değil, ürün fiyatlarını içerdiğini gösterir. |
x |
total_price |
Değerin tüm fiyatların toplamı olduğunu açıklar. |
y |
reaches_discount_limit |
Karşılaştırmanın indirim eşiğine ulaşılıp ulaşılmadığını belirttiğini anlatır. |
Bir ismi değerlendirirken yalnızca taşıdığı değere bakma. Değişkenin rolünü, kapsamını ve kodun hangi kararında kullanıldığını birlikte düşün. Kısa bir ad dar bir bağlamda yeterli olabilir; kapsam genişledikçe aynı ad, açıklayıcı bir ifadeyle değiştirilmelidir.
Değişken adı seçmek için beş maddelik kontrol listesi
Yeni bir değişken adı yazmadan önce aşağıdaki beş soruyu kontrol etmek, kodun okunabilirliğini artırır ve daha sonra yapılacak düzenlemeleri kolaylaştırır.
- Ad, değişkenin tuttuğu değeri anlatıyor mu? Değişkenin içeriği yalnızca birkaç satırdan değil, adı üzerinden de anlaşılabilmelidir.
student_countgibi bir ad, değerin neyi temsil ettiğinixadından daha açık gösterir. - Değişkenin kullanım amacı veya rolü anlaşılır mı? Aynı türden değerler farklı amaçlarla kullanılabilir. Bir sayının toplamı mı, sınırı mı, sonucu mu tuttuğu adından sezilmelidir.
- Boolean, sayaç, tekil değer veya koleksiyon olduğu seziliyor mu? Doğru ad, değişkenin nasıl kullanılacağı hakkında ipucu verir. Bir durum değeri soru biçiminde, sayaç ilerlemeyi anlatan bir adla, koleksiyon ise birden fazla öğeyi ifade eden çoğul bir adla tanımlanabilir.
- Kapsam ve bağlam için ad gereğinden kısa ya da gereğinden uzun mu, kısaltma anlaşılır mı? Dar bir kapsamda kısa ad yeterli olabilir. Daha geniş bir kullanım alanında ise birkaç harflik belirsiz bir kısaltma yerine anlamı koruyan açık bir ad tercih edilmelidir.
- Dilin anahtar sözcükleriyle ve projenin adlandırma biçimiyle çakışıyor mu, aynı kavram tutarlı adlandırılmış mı? Kullanılan ad, dilin özel sözcükleriyle karışmamalı ve projede aynı kavram için farklı adlar kullanılmasına yol açmamalıdır.
Bu ölçütleri farklı programlama dillerindeki temel bilgilerinle birlikte sınamak istersen ücretsiz bilgi testleri merkezini kullanabilirsin.
Sık Sorulan Sorular
Değişken adı ne kadar uzun olmalı?
Değişken adı, değerini ve rolünü açıklayacak kadar uzun olmalıdır. Gereksiz ayrıntı içeren çok uzun adlar da okumayı zorlaştırabilir. Uygun uzunluk, değişkenin kapsamına ve bağlamına göre belirlenir.
Boolean değişkenler nasıl adlandırılır?
Boolean değişkenler bir durum, koşul ya da izin ifade eder. Bu nedenle adın doğru veya yanlış cevabı çağrıştırması yararlı olabilir. is_ready, has_permission ve can_edit gibi adlar buna örnektir. Kullanılan dilin ve projenin biçim kuralı farklı bir yazım gerektirebilir.
Kısa değişken isimleri ne zaman kullanılabilir?
Kapsam dar ve kullanım amacı açık olduğunda kısa adlar kullanılabilir. Kısa döngülerdeki sayaçlar ya da matematiksel işlemlerdeki sembolik değerler buna örnek olabilir. Kapsam genişledikçe daha açıklayıcı adlar seçmek gerekir.
Kısaltma kullanmak değişken adını okunamaz hâle getirir mi?
Her kısaltma sorun oluşturmaz. Projede yaygın olarak bilinen ve tek bir anlama gelen kısaltmalar kullanılabilir. Ancak anlamı yalnızca yazan kişinin bildiği kısaltmalar, değişkenin amacını gizleyebilir.
Dil ve proje stil kuralları aynı değilse hangisi izlenmeli?
Önce dilin sözdizimi ve anahtar sözcüklerle ilgili zorunlu kuralları dikkate alınmalıdır. Bunun ardından proje stili uygulanır. Proje biçimi, dilin kurallarını ihlal etmeden değişkenlerin nasıl adlandırılacağını belirler.
İyi seçilmiş bir değişken adı, kodu yazarken olduğu kadar daha sonra okurken ve geliştirirken de anlaşılır kılar.