PARAMETRİK İLERLEME

PARAMETRİK İLERLEME📈
Bir sistem üzerinde (ve kod tabanları birer sistemdir) çalışırken, başlangıçta planladığınızdan daha fazla yönü değiştirmek son derece cazip gelebilir.
Diyelim ki sadece bir hatayı düzeltmek istemiştiniz. Suçluyu buldunuz, ama aynı zamanda kötü adlandırılmış bir değişken, ikiye bölünebilecek bir fonksiyon, yapılacak bazı kod stil değişiklikleri, güncellenmesi gereken bazı kütüphaneler ve hata gibi görünen başka bir şey de gördünüz. Bu yüzden
hepsini düzelttiniz ve commit yaptınız.

Bu, bir seferde daha fazla iş yaptığınız için verimli görünebilir, ancak aslında öyle değil. Tam tersine, verimsizdir. Sadece bir git commit'inde tek bir şeyi
düzeltmek daha verimlidir. Bir yönü veya bir "parametreyi" seçin ve yalnızca onu değiştirin. Sonra, değişikliğinizin etkilerini görün, öğrenin ve sonra bir
sonraki parametreye geçin. Buna "Parametrik İlerleme" denir. 

Aşağıdaki diyagram, bunun neden sezgisel olmadığını gösterir. Bir seferde birçok şeyi değiştirirseniz (diagramın sol tarafında), kısayollar alıyormuşsunuz gibi görünebilir ve böylece hedefe daha hızlı varıyormuşsunuz gibi görünebilir. Ve Parametrik İlerleme (sağ tarafta) sanki dolambaçlı yollar yapıyormuş gibi görünebilir. 

Birçok şeyi bir kerede değiştirmekten kaçınmanızın açık sebebi, odak eksikliğidir. Sadece yapmanız gereken şeyi yapın, başka hiçbir şey yapmayın. Ama daha ince bir nedenim daha var. Sistemler hassas şeylerdir. Bir yönü değiştirdiğinizde, değişikliğinizin sistemde beklenmedik şekillerde diğer parçaları etkileme ihtimali her zaman vardır. Bu yüzden, sadece bir yönü değiştirmek ve sonra sistemin bu değişikliğe nasıl tepki verdiğini öğrenmek en iyisidir. Yeni bir hata ortaya çıkarsa, kesinlikle o belirli değişiklikten kaynaklandığını bilebilirsiniz ve neden sonuç ilişkisini daha kolay öğrenebilirsiniz. Ancak, bir seferde birçok yönü değiştirirseniz ve yeni bir hata ortaya çıkarsa, hangi değişikliğin bunu neden olduğunu bilemezsiniz. Hatta bir kod stil değişikliğinin bile bir hataya neden olabileceği sıklıkla mümkündür.

Programcılar, bir hatayı tamamen şaşkınlıkla karşıladıklarında sık sık kara büyüden bahsederler. Kara büyü hissi, sistem hakkındaki zihinsel
modelinizin sistem gerçekliğiyle senkronize olmadığı zaman ortaya çıkar. Ve bir seferde birçok şeyi değiştirmek, sistem hakkında öğrenmenize kolayca izin vermez. Geliştiriciler kod yazma hakkında çok konuşur. Kod öğrenmek çok daha önemlidir. Sisteminizle senkronize olun ve hataları
daha kolay düzelteceksiniz, hatta baştan hata önlemenin yanı sıra. Sistemi öğrenmenizi iyileştirmek için parametrik ilerleme gibi bir şey kullanın.


Source: André Staltz