Tag Archives: 5 kural

Rob Pike’tan programlamanın 5 kuralı

Texas üniversitesinin sitesinde bulunan, Adnan Aziz’in yazdığı “”Rob Pike: Programlamanın 5 kuralı” makalesini inceledim.

Rob Pike kimdir peki? Kendisi programlama dünyasında çok saygı duyulan bir abimiz. 2002 – 2021 yılları arasında Google’da çalışmış bu abimiz en fazla Go programlama dilinin yaratıcılarından biri olarak bilinir. Ek olarak Unix takımında yer alıp, Bell laboratuvar‘ında çalışmış. Ayrıca Ken Thompson ile UTF-8’i geliştirmiş.

İşte o 5 kural;

1. Yazdığınız bir programın zamanı nerede harcayacağını bilemezsiniz. Darboğazlar şaşırtıcı yerlerde meydana gelir, bu nedenle darboğazın nerede olduğunu kanıtlayana kadar ikinci bir tahminde bulunmaya ve bir hız kesme işlemi yapmaya çalışmayın.

2. Ölçüm. Ölçene kadar hız için ayarlama yapmayın ve o zaman bile kodun bir kısmı geri kalanını boğmadıkça yapmayın. (Erken optimizasyon, tüm kötülüklerin köküdür.)

3. Havalı algoritmalar, n küçük olduğunda yavaştır ve n genellikle küçüktür. Havalı algoritmaların büyük sabitleri vardır. n’nin sıklıkla büyük olacağını bilene kadar, süslenmeyin. (n büyüse bile, önce Kural 2’yi kullanın.)

4. Havalı algoritmalar, basit olanlardan daha karmaşıktır ve uygulanması çok daha zordur. Basit veri yapılarının yanı sıra basit algoritmalar kullanın. (Kararsızsanız, brute force kullanın)

5. Veri domine eder. Doğru veri yapılarını seçtiyseniz ve işleri iyi organize ettiyseniz, algoritmalar neredeyse her zaman belli olacaktır. Algoritmalar değil veri yapıları programlamanın merkezindedir.

Kaynaklar:

KISS prensipleri: https://en.wikipedia.org/wiki/KISS_principle

The Mythical Man-Month: https://en.wikipedia.org/wiki/The_Mythical_Man-Month