Değişkenlere Babanızın Dedenizin İsmini Vermeyin!

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.

 

Kendimize Karşı Önyargılarımız

Çoğu zaman kendimize karşı fazla fazla önyargılarımız var. Yeteneksiz olduğumuzu, çirkin olduğumuzu, başarısızlığa mahkum olduğumuzu düşünüp, pek çok kere de kendimizi buna inandırabiliyoruz.

Son zamanlarda makyajsız da güzelsiniz, photoshop değmeden de kadın güzeldir gibi söylemleri benimseyen Dove’un Real Beauty Sketches reklam kampanyası da buna güzel bir eleştiri getiriyor.

Reklam üzerinden hayatı sorgulama klişesi gibi duracak ama hoşuma gitti.

 

Bu da alternatif versiyonu :) Üşenilmemiş uğraşılmış geyiğe saygım sonsuz.

TGIF

TGIF ve Pazartesi Sendromu Üzerine

Çalışma hayatı argosunda, özellikle beyaz yaka kesimde, sıkça kullanılan iki kavram var. Thank God It’s Friday (ya da facebook ve twitterda görmeye alışık olduğumuz kısa haliyle TGIF) ve akabinde, haftasonunun ardından Pazartesi Sendromu ya da I hate mondays.

TGIF, haftasonu cennetinin kapılarının, meleklerin çaldığı harp tınılarıyla ve belki ortamlara akılacak bir cuma gecesiyle açılışını müjdelerken, iş stresinin doldurduğu sevimsiz haftaiçi günlerin geride kaldığını müjdeliyor.

TGIF

Belki Robinson Crusoe bu cümleyi tamamen farklı bir şekilde kullanmış olabilir.

Pazartesi sendromuysa, bu cennetten adeta kovulmayı, dilediğince geç kalkılmış bir pazar günü sonrası, muhtemelen kayan uyku düzeninin de etkisiyle, koca bir fincan sütsüz sert bir kahvenin bile yoluna koyamadığı bir ruh haliyle haftaiçinin kapının tekrar açılışı.

Pazartesileri için çok fazla bir şey yapılmasa da (bildiğim kadarıyla. aksi bir durum varsa düzeltin), TGIF coşkusunu arttırmak ve haftasonuna daha yumuşak bir geçiş sağlamak için Casual Friday (Serbest Cuma), Happy Hour gibi çabalar da mevcut.

Cuma günleri gömleğin altına

Cuma günleri gömleğin altına

Facebook ve Twitter’da bu kalıpları(aynen olması gerekmiyor, “ohhh sonunda haftasonu” da aynı kapıya çıkar) kullanan kişilere dikkat ettiğimde gördüğüm, büyük çoğunlukla tekrarlanan bir şekilde kullanılıyor olması.

Aklıma, her cuma ve her pazartesi facebook ve twitter da bu cümleleri okuduktan sonra takılan soru şu: Eğer her hafta, sırf yazmış olmak için değil de, samimi bir şekilde bu iki uç duyguyu yaşıyorsan; suç atılacak olan cuma ve pazartesi midir yoksa daha önemli bir sorunu her hafta geçiştirmenin yolunu bu döngüde mi buluyorsun?

Web Development Dünyasından – Şubat 2013

2013 yılı web dünyası için oldukça hızlı başladı. Birbiri ardına güzel projeler çıkıyor, bunları denemek bir yana haberdar olmak bile oldukça uğraş ve zaman gerektiriyor. Zamansızlık dertleri bir yana, özellikle javascript alanında, browserların da artık gelişmesi (yoksa siz hala…) ile adeta bir Kambriyen Patlaması yaşanıyor.

Şubat ayında gözüme çarpanlardan bazıları:

Continue reading