Kodların yazım stilleri yazılımcıların bağlı oldukları ekollere göre şekillenir. Yazım stilinin önemli unsurlarından biri olan isimlendirme konusu da ekolün alaylı kısmında öğrenilen ve meslek hayatı boyunca devam edilen konulardan bir tanesidir. Bir nevi ekolünüzün mesleğiniz üzerinde bıraktığı izlerden biridir. İsimlendirme özünde metodik bir yaklaşım olmasına rağmen Türkiye bilişim literatüründe ne videolu ne de yazılı kaynaklarda pek rastladığım bir konu değil maalesef. Yeni başlayanlara mini bir Türkçe bir kılavuz olması niyetiyle bu durumu ele alalım o zaman.
Nasıl Bir İsimlendirme?
Kod özelinde inceleme yapmadan belirtmem gerekiyor ki ne üzerine isimlendirme yapıyorsanız yapın isimlendirmeleriniz anlamlı olmak zorundadır. Özetle, bir kek tarifi üzerinde çalışıyorsanız ve bu kek limonlu ise “Limonlu Kek Tarifi” şeklinde bir isimlendirme yapılması anlamlı ve yeterli olacaktır.
Dosya İsimlendirmeleri
Git gibi araçlar versiyon
kontrolü konusunda programcılara avantajlar sağlasada zaman zaman klasik metotla
yerelde geliştirme de yazılımcılar tarafından tercih edilebilmektedir. Bu noktada en etkili
isimlendirme yöntemi dosyaları bir zaman damgasıyla beraber isimlendirmektir.
Örneğin, proje olarak tekil bir Python Script’i yazıyorsunuz ve yaptığınız değişikleri gün bazında versiyon ile isimlendirmek istiyorsunuz. Aşağıdaki gibi bir isimlendirme hem versiyon takibi yapmayı hem de geçmişe dönük zaman takibi yapmayı kolaylaştıracaktır.
- Python Proje v+YIL+AY+GÜN
- Python Proje v20230101.py
- Python Proje v20230102.py
Dizin İsimlendirmeleri
Dizinler genelde barındırdıkları unsurlara göre isimlendirilirler. Problem ise genelde yedeklerin alınması gibi ile aynı isimde birden fazla dosyanın varlığı ile ortaya çıkmaktadır. Bundandır ki Finalll, Final(2), Yedekkk vb. isimlendirmeler pek çok bilgisayarda sıklıkla karşılaşılan isimlendirme kusurlarındandır. Bu noktada dosyalarda da kullanıldığı gibi dizinlerin de zaman damgası ile isimlendirilmesi işleri kolaylaştıracak yöntemlerden bir tanesidir.
- Blog Yazılarım Mayıs Arşivi
- Blog Yazılarım v20230101
Kod İçerisinde İsimlendirme
Geldik bu yazının
asıl yazım amacına. Kod içerisinde isimlendirmeye ihtiyaç duyacağınız
yerler fonksiyonlar, değişkenler ve sabitlerdir. İç not: Bazı programlama
dilleri, kütüphanelerin kullanımı gibi yerlerde custom isimlendirmeyle kısaltmalara
izin verebilmektir. Bu yazıda bunun gibi ince nüanslar ve ek özelliklerin dışında
sadece fonksiyonlar, değişkenler ve sabitlerin isimlendirmesinden bahsedilecektir.
Programlama dilleri isimlendirmeler sırasında kendilerine özel kurallar barındırabilirler. Sizler bunları o programlama dilinin documentlerinden rahatlıkla gözlemleyebilirsiniz. Örneğin bir programala dili _ ile isimlendirmeyi legal kabul etmezken bir diğeri edebilmektedir. Ben ise bu yazıda daha çok genel geçer kabuller ile isimlendirme standartlarını göstereceğim. Bu kabullerden bazıları;
- Sistem için ayrılmış isimlendirmeler kullanılamaktadır. ("math")
- Sayı ile başlayan bir isimlendirme kullanılamamaktadır. ("2parca")
- Türkçe harf barındıran bir isimlendirme yapılamamaktadır. ("taksiücreti")
- İsimlendirme yapılırken boşluk kullanılamamktadır. ("taksi ücreti")
Genel geçer kuralları gördüğümüze göre şimdi isimlendirme standartlarına bir bakalım.
Tablo 1. Yaygın isimlendirme standartları
İsimlendirme Metodu |
Örnek |
Yayın Kullanım Dili |
Camel Casing |
saatlikUcret soyAdi |
Java, C# |
Pascal Casing |
SaatlikUcret SoyAdi |
Visual Basic |
Hungarian Notation |
numSaatlikUcret soyAdi |
C |
Snake Casing |
saatlik_ucret soy_adi |
C, C++, Python, Ruby |
Mixed case with underscore |
Saatlik_Ucret Soy_Adi |
Ada |
Kebob case |
saatlik-ucret soy-adi |
Lips, COBOL |
Yukarıdaki tabloda
yaygın isimlendirme standartları ve yaygın olarak kullanıldıkları programlama
dilleri verilmiştir. Programlama dilleri aynı zamanda birer ekolü temsil
etmektedir. Buradaki ekol programlama içindeki yapı ve parçalara yaklaşımı ifade
etmektedir. Bu yüzden bir programlama dilinde fonksiyon diye gördüğünüz yapıyı
diğer programlama dilinde modül bir değerinde ise metot olarak görmeniz
mümkündür. Bizim burada yapacağımız ise bu
standartları kullanarak kendi isimlendirme çerçevimizi oluşturmak olacak. Bu yaklaşım
bize kod okunabilirliği, kod düzenleme ve geliştirme gibi noktalarda faydalar sağlayacaktır.
Bunu bir taksimetre
kodu üzerinde kategorik olarak ele alacak olursak;
- Global Sabitler: BASLANGIC_UCRETI
- Local Sabitler: km_basi_ucret
- Fonskiyonlar: yolUcretHesapla()
- Değişkenler: varisYeri, anlikKonum
- Local Değişkenler: toplam-yol-ucreti
Kaynak:
Ferrell, J., & Farrell, J. (2010). Programming logic and design: Comprehensive (6th ed.). Cengage Learning.