Programlamada Parantez Stilleri

Bir süre önce, kendi yazdığım kod ile açık kaynaklı kodları karşılaştırdığımda, açık kaynaklı projelerin kodlarının daha “temiz” göründüğünü farkettim. Bu farkın çeşitli sebepleri vardı ama en önemlisi parantez / hizalama stillerindeki farklılıktı.

parantez-programlama

Kod yazarken kullanabileceğiniz farklı parantez stilleri vardır. Aslında bu stiller yıllardır programcılar arasında “Indent Wars” / “Hizalama Savaşları” olarak bilinir. Şimdiye kadar ben “1TBS” stilini kullanıyordum. Ancak “Allman” stili -aşağıda da bahsedeceğim- bazı avantajlara sahip olduğundan,  bir kaç günlük alışma süreci sonunda “Allman” stiline geçtim.

Şimdi kısaca en bilinen parantez / hizalama stillerine bakalım.

K&R / 1TBS (One True Bracket Style)

Aslında K&r ve 1TBS aynı stilin farklı varyasyonları ancak aralarında kayda değer bir fark olmadığı için aynı başlık altında topladım. K&R stili, ilk defa C programcılarının kutsal kitabı olarak bilinen “The C Programming Language“da kullanılmıştır. Kitabın yazarları olan Kernighan ve Ritchie vesilesiyle K&R olarak adlandırılır. Özellikle “eski kulağı kesik” C programcıları tarafından tercih edilir.

Avantajları: Yalnızca parantez için bir satır ayırmak yerine satır tasarrufu sağlar. Günümüzde yüksek ekran çözünürlükleri sayesinde bu avantajı da gözardı edilebilir.

Dezavantajları: Kod okunabilirliğini, parantez takibini zorlaştırır. Aşağıdaki örnekte olduğu gibi, kapsam başlangıcındaki satırı yorum olarak işaretlediğinizde açılış parantezi de gideceğinden kodda hataya sebep olur.

Allman

İsmini BSD Unix’e çeşitli araçlar geliştirmiş olan Eric Allman‘dan alır. “BSD stili” olarak da bilinir. Akıl sahibi ve bluğa ermiş her yetişkinin tercih etmesi gereken stil.

Avantajları: Kod okunabilirliği yüksektir. Kapsam başlangıcı yorum olarak işaretlendiğinde kod bütünlüğü -aşağıdaki örnekte olduğu gibi- bozulmaz.

Dezavantajları: Daha fazla satıra ihtiyaç duyar. Yukarıda da belirttiğim gibi günümüzün yüksek ekran çözünürlüklerinde gözardı edilebilinir.

GNU

Allman’dan farklı olarak parantez açılış ve kapanışları iki boşluk ile girintilenir.

Whitesmiths

İsmini Whitesmths derleyicisinden alır. GNU’dan farklı olarak kapsam içindeki kodlar parantez ile aynı hizada başlar.

Horstmann

Kapsam içindeki kodların ilk satırı, başlangıç parantezi ile aynı satırda yer alır. Akıl fikir…

Pico

Kapsam içindeki kodların ilk satırı başlangıç parantezi ile yanı satırda, son satırı kapanış parantezi ile aynı satırda yer alır. Bunu… Bunu alın dışarı…

Zümtöt

Böyle bir stil yok; şimdi ben uydurdum. Özellikle PHP programcıları arasında dilden dile dolaşan ama kimsenin henüz tanışamadığı, aşağıdaki şekilde kod yazan programcı stili. Böyle kod yazan birini görürseniz, korktuğunuzu belli etmeden yanından uzaklaşınız.

Sonuç

Eğer üzerinde çalıştığınız proje sizi bir kodlama standardı için zorlamıyorsa, istediğiniz parantez / hizalama stilini kullanabilirsiniz. Diğer yandan kod okunabilirliği kolay olan stilleri tercih etmeniz, hem gelecekte sizin geriye dönük kodları okumanıza hem de başka programcıların yazdığınız kodları kolay anlayabilmesine yardımcı olacaktır.

Kaynakça
1. https://en.wikipedia.org/wiki/Indent_style
2. http://www.terminally-incoherent.com/blog/2009/04/10/the-only-correct-indent-style/

Facebook Twitter Digg Delicious

06 Temmuz 2015 tarihinde yayınlandı.