Merhaba,
Bereketli bir başlıkta, (-bknz. ilgili konu (http://ddili.org/forum/thread/705)) birden fazla konu çıkınca ayrı başlık açma gereği doğurdu. Aslında burada da birden fazla başlık (okunabilirlik, ekleme ve hatalardan arındırma kolaylığı) içeriyor. Crockford'un bu konuda JS üzerinden güzel bir vidyolu anlatımı var. Bulursam bu başlıkta nakledeceğim. Ama önce tartışmanın doğduğu satırlar ile başlayalım:
Alıntı (acehreli):
Alıntı (Salih Dinçer):
>Ben genelde 'for''dan hemen sonra gelen 'if''lerde bile öncesine güzel parantez kullanmayıp tek satırlık for-if iş birliğini sanki tek komutmuş gibi temsil ederken sadece bir if için tek satır kullanmayıp altına girintili devam etmenizin kod yazma kolaylığı açısından sebebi nedir? <--- Farkındayım, çok uzun bir cümle oldu; işte kod yazarken sadeleştirmeye gayret ederim ama gel gör ki yazışırken uzatırım da uzatırım. Huy çıkmaz, can çıkarmış...:)
> > if(len >= width)
> > return s;
> > ```
> > Başarılar...
> >
>
> Bunun kod kolaylığı açısından bir yararı yok. Olsa olsa okunaklılık açısından yararı olabilir. Programdaki diğer if'ler vs. bloklarını hep aşağıya alıyorlarsa gözümüz de kodu bakarken blokları orada ararlar. O yüzden tutarlı olmakta yarar var.
>
> Yoksa satırın sonunda gizli kalmış oluyorlar.
>
>
> if (len >= width) return s;
writeln("devam");
> O kodu görünce writeln'ın if bloğu altında olduğu sanılabilir. Satırı girintili olmadığı için ise acaba boşluk mu unutuldu diye düşünülebilir. Tekrar if'e bakılır ve bloğunun aslında kendi satırında olduğu görülür.
Tutarlılık çok önemli olduğu için kendi adıma her zaman için küme parantezlerini de kullanırım:
> if (len >= width) {
> return s;
> }
> ```
>
> Sonradan başka satır eklenecekse yeri hazırdır. Öteki türlü, return s aşağıya indirilmelidir.
>
> Ama çok önemli değil tabii. Kişisel... :)
>
> Ali
>
Sanırım herkesin kişisel bir takım alışkanlıkları var. Tabi standart değerler üzerinden kodlarımızı yayınlamak daha uygun olacaktır. Bu da bol bol güzel parantez kullanmak olsa gerek? Bu sayede düzeltmeler de kolay oluyor. Tam burada bir tecrübemi paylaşmak isterim:
Yazılım geliştirme aşamasında tüm satırların tek ekranda (PgUp/Down kullanmadan) durması için için mümkün olduğunca satırları birleştiriyordum. Ama bir keresinde güzel parantez kullanmayıp;
- Tıpkı yukarıdaki 'if()' gibi bir 'for()' döngüsü kullandım,
- Döngüyü geçici olarak iptal etmek için altındaki ekrana yazma satırını // ile gizledim,
- Tabi derleyici sonunda noktalı virgül olmadığı için hata verdi, hadi tek karakterden ne olacak dedim ve geçtim...:)
Ama sonra o noktalı virgül unutuldu ve n'aptıysam kodu eski haline getiremedim. Çünkü gözüme hiç bir hata gözükmüyordu ve noktalı virgül yüzünden de masum döngümüz tek başına takılıyordu. Yani koda yavaşlık hariç hiç bir katkısı olmuyordu...
Bir de başka tartışma konusu da toplam (gerçek) satır sayısı olabilir. Hani şu kadar satır kod yazdık dediğimizde, aslında güzel parantez ve boş satırları dikkate aldığımızda, toplam satır sayısını bulmak için ikiye bölmek zannedersem daha doğrudur...:)
Sevgiler, saygılar...
--
[ Bu gönderi, <http://ddili.org/forum>'dan dönüştürülmüştür. ]