Telefon : +90 212 275 71 06  
%100 Doğru Kodlama Stil Rehberi

%100 Doğru Kodlama Stil Rehberi

Sekmeler mi boşluklar mı? Süslü parantezler aynı satıra mı gelecek yoksa yeni bir satıra mı? Genişlik 80 karakter mi olacak 120 karakter mi?

Kodlayıcılar bu tarz şeyleri tartışmaya bayılır. Sekme - boşluk tartışması HBO'nun Silicon Valley programının ünlü bir bölümünde bile konu oldu.

Bu yazı sonunda size aradığınız kesin cevapları vereceğim.


Kariyerimin başlarında her tür kutsal savaşa daldım. Neden bazı kurallar doğru iken başka bir kuralın tamamen yanlış olduğuna dair bazı makaleler okudum. Oraya kudretli atımla gidip dinleyen herkese yanlış olduklarını ve benim haklı olduğumu iddia edebilirdim.



Doğru yanıtları bulmam yıllarımı aldı ama sonunda başardım ve ortaya çıkan yanıt…

Bütün bunlar hiç önemli değil.

Asıl önemli olan tutarlılık. Asıl önemli olan okunabilirlik. Bir kuralın karşısında başka bir kuralı tartışmak ve bu konuda strese girmek tümüyle anlamsız.

Geçtiğimiz 20+ yıl içinde aklınıza gelebilecek her trendi izledim. Farklı dillerin farklı kurallarını takip ettim. Bunların hiç biri hata sayımda hiç etkili olmadı ya da kodumu daha verimli yapmadı.



Beni yanlış anlamayın, temiz görünen, iyi biçimlendirilmiş bir kod zaman içinde kolayca değiştirilebilir ve bakımı yapılabilir, ve bu iyi bir şeydir.

Ayrıca kodunuzun güzel görünmesini istemenizde yanlış bir taraf yok. Ama çok sık bir şekilde bu, temelde vakit öldürmeyi gerekçelendirmek için kullanılıyor.

Vaktimizi bu şekilde değerlendiriyoruz çünkü kodlama zor. Acele edildiğinde olaylar karmaşık hale geliyor ve bizler — özellikle bu düzeyde bir karmaşıklıkla yeni karşılaşanlarımız —  bu karmaşıklıktan ürküyor ve bununla baş etme yeteneğimiz konusunda güvensiz büyüyor.

Önemsiz şeyler hakkında tartışmak çok daha güvenli. Kendimize algıladığımız yetersizlik bu şekilde muhtemelen daha düşük ihtimalle ortaya çıkacaktır.

Zor problemlerden kaçmak için önemsiz şeyleri tartışma olgusu öyle yaygın ki bunu açıklayan bir dizi popüler teori bile var.

En popülerlerinden biri, bir organizasyonun üyelerinin önemsiz sorunlara fazlasıyla önem verdiğini belirten Parkinson'un Önemsizlik Yasası.

Parkinson bu yasayı resmederken, işi yeni bir nükleer santralin planlarını onaylamak olan ama zamanının çoğunu personel bisikleti kulübesi için hangi malzemenin kullanılacağı üzerinde tartışarak harcayan bir kurgu komisyon örneğini kullandı. Tesisin önerilen tasarımını yok sayıyorlar, zira bu çok daha önemli ama ayrıca çok daha karmaşık bir konu.

Bu standart örnekteki bisiklet kulübesine atıfta bulunmak için Danimarkalı geliştirici Poul-Henning Kamp daha sonra bunu açıklamak için “bisiklet kulübesi etkisi” ya da basit haliyle “bisiklet hangarı” terimini ortaya attı.

Yazılım geliştirme işinde çalışıyoranız — ve özellikle sosyal medyada başka kodcularla takılıyorsanız— muhtemelen bisiklet hangarı olgusunun bazı biçimlerine neredeyse her gün rastlıyorsunuzdur.




Kendinizi, kod yazan arkadaşlarınızla, çevrimiçi ortamda ya da bireysel olarak anlamsız bir şekilde büyüyen bir tartışmanın içinde bulursanız, muhtemelen  Sayre Yasasını hatırlamak da yerinde olacaktır…

“Herhangi bir tartışmada duygular masaya yatırılan konunun değerine ters orantılı yoğunlaşır.”


Bir danışman olarak bir müşteriden diğerine giderim, ve her birinin kendi kuralları vardır. Uzun zaman önce benim için başarıya giden tek yolun önemsiz şeyleri bir yana bırakmak ve zor sorunlara odaklanmak olduğuna karar verdim. Konu kodlama standartları olduğunda, edindiklerimi alır ve üzülmem.

Siz de kendinizi kendi stil rehberinizi seçme konumunda bulursanız, kendinize şu iki basit soruyu sormanızı öneririm:

1. Benim çok az ya da sıfır müdahalemle stil kurallarını koduma otomatik olarak uygulayacak bir araç var mı?

2. Araçlar ve öncelikli stillerde aktif bakım yapılıyor mu ve/veya bunlar itibarlı organizasyonlar tarafından kullanılıyor mu?

Bu sorunların her ikisine de “evet” yanıtı veriyorsanız o zaman yolunuza devam edin. Bu kadar basit.

İşte günümüzün daha popüler olan web dillerinin bazıları için uygun bazı seçenekler:



DotNet Code Biçimlendirici


Java: Google-Java-Formatı


Javascript Standard Style (Not: Bu bir ürün adıdır, gerçek resmi bir JavaScript standardı değildir)


PHP Coding Standards Fixer


Python: Google’s YAPF


Ruby: Rubocop



Yazının orijinali için tıklayınız.