Değişken ne demek Bilişim?

Değişken Nedir? Verinin Konaklama Yeri

Bilişimde "değişken" dediğimiz şey, en basit tabirle, bilgisayarın hafızasında (RAM'de) verileri geçici olarak sakladığı, isimlendirilmiş bir alandır. Tıpkı evindeki bir kutuya eşya koyup üzerine etiket yapıştırman gibi düşünebilirsin. O kutunun adı değişkendir, içine koyduğun eşya ise veridir. Program çalıştığı sürece o kutunun içindeki eşyayı değiştirebilirsin.

Deneyimlerime göre, değişkenleri anlamak, programlamanın temelini kavramanın ilk ve en önemli adımıdır. Bir programın yaptığı her şey, veriyi işlemekten ibarettir ve bu veri, değişkenler aracılığıyla taşınır. Mesela, bir e-ticaret sitesinde sepete ürün eklediğinde, o ürünün fiyatı, adedi gibi bilgiler birer değişkende tutulur. Kullanıcı giriş yaptığında, kullanıcı adı ve şifresi değişkenlerde işlenir.

Neden İhtiyaç Duyarız? Değişkenlerin Rolü

Değişkenlere neden ihtiyaç duyduğumuzu birkaç maddeyle açıklayabiliriz:

  • Veri Saklama: Az önce bahsettiğim gibi, programın anlık olarak kullanacağı verileri tutmak için birebir. Bir hesap makinesi uygulamasında girdiğin sayılar, yaptığın işlemin sonucu değişkenlerde saklanır.
  • Esneklik ve Yeniden Kullanım: Eğer bir değeri doğrudan kodun içine yazsaydın (sabit değer - hardcode), o değeri değiştirmek istediğinde kodun her yerini elle gezmen gerekirdi. Değişken kullandığında ise, sadece değişkenin değerini güncelleyerek programın davranışını değiştirebilirsin. Örneğin, KDV oranını bir değişkende tutarsan, oran değiştiğinde sadece o değişkeni güncelleyerek tüm hesaplamaları doğru yaparsın.
  • Mantıksal Akış: Programın karar verme süreçlerinde (koşullu ifadeler, döngüler) değişkenlerin değerleri kullanılır. Bir kullanıcının yaşı bir değişkende tutulur ve "eğer yaş 18'den büyükse..." gibi bir kontrol yapılır.
  • Okunabilirlik: Anlamlı isimler verdiğin değişkenler, kodunun ne iş yaptığını anlamanı kolaylaştırır. `x = 5` yerine `kullaniciYasi = 25` demek, kodun amacını çok daha net anlatır.

Python'da basit bir örnekle: ürünFiyati = 150.75. Burada ürünFiyati bir değişken, 150.75 ise bu değişkene atadığımız veridir. Bilgisayar bu komutu gördüğünde RAM'de ürünFiyati adında bir yer ayırır ve içine 150.75 değerini koyar.

Değişken Türleri: Her Veriye Uygun Kutu

Her veri aynı şekilde saklanmaz. Bir sayı ile bir metin farklıdır, değil mi? İşte bu yüzden programlama dillerinde farklı "değişken türleri" (data types) vardır. Bu türler, değişkenin içine ne tür bir veri koyabileceğini ve bu veriye ne tür işlemler yapabileceğini belirler.

  • Sayısal Türler (Numeric Types):
    • Tam Sayılar (Integers - int): Küsuratı olmayan sayılar. Örnek: yas = 30, adet = 5. Bellekte genellikle 4 bayt (32 bit) veya 8 bayt (64 bit) yer kaplarlar. Bir 32 bit integer, yaklaşık olarak -2 milyar ile +2 milyar arasında değer tutabilir.
    • Ondalıklı Sayılar (Floating-Point Numbers - float): Küsuratı olan sayılar. Örnek: fiyat = 19.99, kdvOrani = 0.18. Genellikle 8 bayt (64 bit) yer kaplarlar ve çok daha geniş bir aralıkta ve hassasiyette değer tutabilirler.
  • Metin Türleri (String - str): Karakter dizileri, yani metinler. Çift tırnak veya tek tırnak içinde yazılırlar. Örnek: isim = "Ayşe", mesaj = 'Merhaba Dünya!'. Bellekte kapladığı alan, metnin uzunluğuna göre değişir. Her karakter genellikle 1 bayt veya daha fazla yer kaplar (Unicode karakterler için daha fazla).
  • Mantıksal Türler (Boolean - bool): Sadece iki değeri vardır: True (doğru) veya False (yanlış). Genellikle koşullu ifadelerde kullanılır. Örnek: girisBasarili = True, urunStoktaVarMi = False. Bellekte genellikle 1 bayt yer kaplar.
  • Koleksiyon Türleri (List, Tuple, Dictionary, Set): Birden fazla veriyi bir arada tutmak için kullanılırlar.
    • Liste (List): Sıralı ve değiştirilebilir elemanlar bütünü. Örnek: sayilar = [1, 2, 3, 4].
    • Sözlük (Dictionary): Anahtar-değer çiftleri şeklinde veri tutar. Örnek: kullanici = {"ad": "Mehmet", "yas": 28}.

Doğru veri türünü kullanmak, hem belleği verimli kullanmanı hem de programının doğru çalışmasını sağlar. Mesela, bir yaş bilgisini string olarak tutarsan, matematiksel işlemler yapamazsın. Bellek kullanımı konusunda, 1 milyon adet tam sayı (int) tutmak, 1 milyon adet ondalıklı sayı (float) tutmaktan daha az yer kaplayacaktır. Bu, özellikle büyük veri setleriyle çalışırken performans açısından kritik olabilir.

İsimlendirme Kuralları ve İyi Uygulamalar

Değişkenlere isim vermek, programcılığın en önemli ama bazen göz ardı edilen becerilerinden biridir. İyi isimlendirilmiş bir değişken, kodunun okunabilirliğini ve sürdürülebilirliğini kat kat artırır. İşte deneyimlerime göre dikkat etmen gerekenler:

  • Anlamlı Olmalı: Değişkenin ne işe yaradığını isminden anlamalısın. x = 10 yerine musteriSayisi = 10 demek çok daha iyidir.
  • Kısa ve Öz Olmalı: Çok uzun isimlerden kaçın ama anlamı da kaybetme. toplam_urun_adedi_sepetteki yerine sepetAdedi yeterli olabilir.
  • Tutarlı Olmalı: Bir isimlendirme standardı belirle ve ona sadık kal.
    • Camel Case: İlk kelime küçük, sonraki kelimelerin ilk harfi büyük. Örnek: musteriAdi, toplamFiyat. (Java, JavaScript'te yaygın)
    • Snake Case: Tüm harfler küçük, kelimeler alt çizgi ile ayrılır. Örnek: musteri_adi, toplam_fiyat. (Python, Ruby'de yaygın)
    • Pascal Case: Her kelimenin ilk harfi büyük. Genellikle sınıf isimlerinde kullanılır, değişkenlerde nadir. Örnek: MusteriAdi.

    Hangi dili kullanıyorsan, o dilin topluluğunda kabul görmüş isimlendirme standartlarını takip et. Bu, başkalarının kodunu anlamasını kolaylaştırır.

  • Rakamla Başlamamalı: Çoğu programlama dilinde değişken isimleri rakamla başlayamaz. 1sayi geçersizken, sayi1 geçerlidir.
  • Anahtar Kelime Kullanmamalı: Programlama dilinin kendi komutlarını (örneğin if, for, class) değişken ismi olarak kullanamazsın.

Unutma, kodunu sadece sen değil, gelecekteki sen veya başka bir geliştirici de okuyacak. İyi isimlendirme, bu süreci çok daha akıcı hale getirir. Pratik ipucu: Eğer bir değişkene isim verirken 5 saniyeden fazla düşünüyorsan, muhtemelen daha iyi bir isim bulabilirsin veya değişkenin kapsamı çok geniştir.