Java’nın İsimlendirme ve Şekil (Format) Geleneği
Kimseyi rahatsız etmek değil amacım ama Java dünyası kadar kod standartlarına uyan bir başka programlama dili toplumu var mıdır bilmiyorum. Bu durum Java’yı bize kazandıranların ve Sun’ın zamanında kod geleneği ya da standardı kavramını bol miktarda vurgulamasıyla başladı ve yazarından tutun da IDElere kadar herkes bu geleneğe uydu ve katkıda bulundu. Standartlar yayınlandı ve Javacılar bunları daima uyguladılar. Amaç basit: Yazılım geliştirmek ve bunun bir parçası olarak kod yazmak doğası gereği zor. Bir de yan zorluklar çıkarmayalım. Yanal faktörlerin maliyetini olabildiğince sıfırlayalım ki esas probleme odaklanalım. Esas problem ise örneğin iş alanını iyi anlamak, nerelerinin değişebileceğini farketmek ve yapıyı buna göre geliştirmek ve kodlamak.
Ben bu dünyaya C ve C++ ile başladım. Oradaki gelenekten haberdar bir şekilde Java’ya geçtim. Uzun yıllar sonra çalıştığım bir pozisyonda C ve C++ kullanan arkadaşlarla bayağı bir mesai harcadım. O zaman farkettim ki Java kod geleneği ile C/C++ kod geleneği, hiç azımsanmayacak şekilde farklı. Java her ne kadar söz dizimi ve gramer açısından C++’a çok benziyor olsa da belli ki Java’yı geliştirenler, nasıl C++’ın sıkıntılı taraflarını dile almamışlarsa, taa o zamandan var olan C++ kod geleneğini Java’ya taşımaktan kaçınıp, çok daha tabiii ve okunur bir standart belirlenmesine öncülük etmişler. (Bu sebeple pek çok Java standardı dokümanı oluşturuldu ve hemen hepsi de çok yüksek bir oranda hem fikirdiler.) Hatırlıyorum C/C++’a okur olarak geri döndüğüm günleri de, hakikatten çok zorlanmıştım C++ kodunu okumakta. Hele alt çizgiler “_” bir fecaattı 🙂
Sonuç, Javacılar, ister Hindistan’da yaşasın ister ABD’de isterse de bu ülkede, herkes hemen hemen aynı formatta kod yazıyor. (Gerçi ben bu ülkede bu standartlara uymayan, haberi olmayan ama Java kitabı yazan ya da video ile eğitim yapan kişilere de rastlıyorum malesef.) Belki daha yeni Javacılar şekil (format) açısından değil de isimlendirmede problem yaşıyorlar, anlamlı isimler bulma konusunda zorluk çekip örneğin “executeThis()” isminde metotlar yazabiliyorlar. Aslında ayrı görünse bile anlam da şeklin bir parçası. Ve hem anlamlı isimlendirme hem de gözü rahat ettirecek, aşina olduğumuz şekilde yazmak çok önemli. Her kurumun bu tür standartları benimseyip, herkesin kullanmasını zorunlu tutması gerekli. Hatta böyle standartlara uyum kod reviewların ve performans değerlendirmenin bir parçası olmalı.
Ben de isimlendirme ve şekil konusunda var olan dokümanlardan ve kendi tecrübelerimden faydalanarak Türkçe bir standart dokümanı oluşturdum. Ve bir sonraki yazıda sizinle paylaşıyorum.
Toplam görüntülenme sayısı: 1814
cem
29 Mart 2014 @ 15:10
Java gerçekten felsefesi ile sahip olduğu destklerle(oracle, ibm, open source toplulukları vs..) en güçlü programlama dili ve yazılım platformu sanırım günümüzde.. Bir de sizin gibi destekçileri var Türkiye’de tabi bu da çok güzel 🙂
Akin
29 Mart 2014 @ 16:53
Katılıyorum. Tenks 🙂