Dion Adworks‘ü kurduğumuz ilk yıllarda bol bol flash banner işimiz oluyordu. O dönemde “The Curious Case Of Benjamin Button” filmi yeni çıkmıştı ve filmi izledikten sonraki bir dönem flash bannerlardaki buton isimlendirmelerimi (genelde bir banner üzerinde bir buton olduğundan çakışmıyordu) benjamin olarak yapıyordum. Kendi çapımda eğlenme durumu işte. Tabii bunun dışında kulağım değişken ve fonksiyon isimlerine, benden daha yaratıcı davranıp, belki o anki ruh hallerini, belki de iş verenlerine karşı olan duygularını yansıtan ifadeler veren ve bu durum script hata verdiğinde tesadüfen ortaya çıkan yazılımcılarla ilgili çeşitli hikayeler de duydum.
Bunlar bir yana asıl bahsetmek istediğim webmagazin.co için yazmayı düşündüğüm Php PSR standartları ile ilgili bir yazıyı planlarken, bu standartları benimsemeden önce vazgeçilmesi gereken daha temel kodlama metodlarının bazıları.
Byte Cimrisi İsimlendirme Metodu
Genellikle fonksiyon ve döngü içlerinde görünen değişkenlere isim verme metodu. Bu metod ile örneğin $args,$postQuery ve $result diye verilebilecek bir değişkenlerin isimleri kısaca $a,$q ve $r olarak verilerek müthiş bir veri kazancı sağlanır. Ayrıca daha az karakter kullanıldığından (bu örnekte 16 karakter tasarruf var) klavyelerin ömürlerini de arttırdığı tesbit edilmiştir.
Eğlence Çıkışı Ünlü Tepkisi Metodu
Tüm ısrarlara ve yüzünüze patlayan flaşlara rağmen yazılan kodu yorumsuz bırakma metodudur. Projeyi yetiştirmek için zaten çok az zamanın olması “ufff şimdi bi de buna comment yazmakla uğraşamam” haklı tepkisi ile pekiştirilip bu metod güçlü argümanlarla savunulmaktadır.
Genellikle, proje bittikten bir kaç zaman sonra yapılacak bir değişiklik/düzeltme için koda geri dönüldüğünde “burda naapmışım ben ya!….haaa doğru ya
. ee peki sonra ne olmuş bu değişken, bu fonksiyon kim?” cümlelerinin gerek yüksek sesli gerekse mırıltı halinde dökülmesine neden olur.
Kodu yazan kişi değil de başka birisi düzenlemek/değiştirmek/anlamak istediğinde ise çoğunlukla bireysel ve ailevi bazda kulaklarınızı çınlatabilecek tepkilere neden olabilir. Toplumsal yanı güçlü bir yöntem.
Empresyonist Kodlama Metodu
Değişkenlerin, fonksiyonların, classların yada elde ne varsa onun o andaki gördükleriniz, hissettikleriniz çerçevesinde isimlendirilmesi ile yapılır. Örneğin içe dönük ve kendinizi sorguladığınız bir anınızda veritabanındaki kullanıcı sorgusu sql’ini içeren bir değişkeni kendi isminizle $osman, yada sıla hasreti çekilen bir anda memleketinizi gözünüzün önüne getirip izmir_get_sonuc() şeklinde isimlendirmeniz ile yapılır.
Bunun dışında etrafınızdaki nesneleri, evcil hayvanınızın ismini, hafif hafif esen rüzgarın ağaç dallarını usul usul sallamasını da isimlendirmelerinize yansıtarak ifade gücünü arttırabilirsiniz.
“I am yirmiyedi years old” Metodu
Genellikle ingilizce vocabulary yetersizliği ve delikanlı sözlük kullanmaz (delikanlı burda cinsiyet ayrımı değil davranış halini temsil etmektedir) anlayışının birleşimi sonucu ortaya konan bir metoddur. Örnek kullanımları şu şekillerde kendini gösterebilir: getSonuc(), $allOgrenciler, makeSorguToVeritabaniOnKullaniciUpdate().
Yapısı kafa karıştırıcı görünmekle birlikte çok açıklayıcı ve yazılımı kolaylaştırıcı bir yöntemdir. Empati seviyesi, kodu okuyan diğer yazılımcıların da bu kelimenin ingilizcesini bilmiyor olabileceğini düşündüğü için, oldukça yüksektir.
Not: Metodun isimlendirmesini hiçbir yaş grubunu zan altında bırakmak istemediğim için kendi yaşımla yaptım.
Oturgaçlı Götürgeç Metodu
Çoğunlukla, yazılım dilinin ingilizce olmasını kabullenememiş yazılımcılarda görülür. Kodlamada isimlendirmeler TDK’ya uygun olarak $degisken, $sonuc, $veritabanı, sonuclariGetir(), gittigin_yagmurla_gel() yapılır. Bu kullanımda ısrar etmekte oldukça haklı nedenleri olduğu konusunda güçlü argümanlara sahiptir bu metodu benimseyen yazılımcılar. Genellikle ingilizceleri de iyi kullanıcılardır.
Bu metodu benimseyen yazılımcılar grubunun, yukarıdaki bahsettiğimden çok farklı olarak, bir diğer mensupları(veya mağdurları) da genellikle İngilizce eğitimin olmadığı okullardaki (örneğin meslek liseleri bilgisayar bölümleri) öğrencilerdir. Eğitim sisteminin eksikliği, eğitmenlerin yetersizliği gibi nedenlerle bu ve bunun gibi metodları gönülsüz hatta çok da farkında olmadan benimserler. Öncelikle İngilizce öğrenmeleri hem yazmak hem de döküman okumak açısından en iyi çözümdür. Bu noktayı aşabilenlerden sonraki dönemlerde çok yetenekli yazılımcılar çıkmaktadır.
Spiderman Metodu
İsimlendirme konusuyla çok alakadar olmasa da bir o kadar önemli bir konu. Yanlış yada daha kötüsü hiç indent kullanmayıp kodu düz duvar gibi yazmak metodudur. Ege kıyıları gibi girinti çıkıntılara sahip kod yazmaktansa, havuz taşı kaplı apartman duvarı düzlüğünde yazılır. Class nerde fonksiyon nerede, o parantez kimin belli olmayan gizemli bir kod çıkar ortaya. Genellikle Eğlence Çıkışı Ünlü Tepkisi Metodu ile beraber kullanılır.
Carpe Diem Metodu
Bu metod dönem dönem her yazılımcıya musallat olabilen ve kanser gibi metastaz yapan bir yöntemdir. Yazılımcı, çoğunlukla aceleden ya da o anda yaptığı işe karşı isteksizlikten, anlık olarak yazar geçer. Bu metodun mottoları “çalışıyorsa sıkıntı yok” ve “hele bi bitsin de sonra toparlarız” şeklindedir. Bu metod çoğunlukla yukarıda saydığım diğer metodların biri yada bir kaçı ile beraber harmanlanarak kullanılır ve bu sayede en verimli örneklerini verir.
Her Yazılımcının Geçtiği Bir Yol
İnanıyorum ki, az yada çok yer yazılımcı kariyerlerinin bir bölümünde bu alışkanların bazılarına sahip olduklar bir süreçten geçiyorlar. Biraz daha estetik anlayışı yüksek, mükemmeliyetçi ve titiz kişilerde daha kısa sürdüğünü düşünüyorum. Bazı yazılımcılarda ise bitmek bilmiyor ve sıkıntı yarattığı zamanlarda ise yine anlık çözümlerle geçiştiriliyor.
Bu kodlama alışkanlıklarından birine, bazılarına yada tümüne sahipseniz ve bundan rahatsızlık duyuyorsanız bir sonraki kod yazdığınız zaman bu rahatsızlığınız hatırlayın. Eğer işinize gelmiyorsa, hoşunuza gitmiyorsa herhangi bir standarta uymak zorunda değilsiniz ama dilerseniz bu konuda benim kod yazımı prensibimi benimseyebilirsiniz:
Kodu senden sonra okuyanın sana küfretmeyeceği gibi yaz.

