“Abi, boşver, baştan yazalım”
İşte yazılımcılar arasındaki en yaygın hastalığın en basit ifadesi. Hastalığın adı, “baştan yazalım hastalığı”. Buna kısaca BYH diyelim. O kadar yaygın bir hastalıktır ki bu, deneyimi olmayanlar bunu normal bir durum zannederler… Halbuki, BYH genellikle bir hastalıktır, kod açısından genellikle ölümcüldür, öldürmezse uzuv kayıplarıyla sonuçlanır.
Nedir bu hastalık? En basit tanımıyla, başka birilerinden devralınmış kodun geliştirilmesi istendiğinde, kodu alıp, anlayıp, düzeltip yenilikler yapmak yerine tamamını baştan yazmaya kalkışmaktır. Sebepler muhtelif olabilir. İlgili kod kötü yazılmıştır, ya da kötü yazıldığı düşünülmektedir. Ekibin kullandığı platformda değil, başka bir platformda yazılmıştır. Ya da, düpedüz sırf başkası yazdığından kodu kimse ellemek istememektedir.
Pek, BYH neden zararlıdır? Zararlıdır, çünkü “baştan yazma”nın sebebi doğru değildir genellikle. Bir bilgisayar programı, insanın kafasındayken ve bir fikir halindeyken en güzel formundadır. Yazıldıkça işin içine zorluklar, iş kuralları yüzünden anomaliler, platform ve kütüphane bug’ları yüzünden acayiplikler girer. Yavaş yavaş o idealliğini yitirir, ama “olgunlaşmış” bir kod haline gelir. Artık o kadar “güzel” değildir, ama işe yaramaktadır! Testelerden geçmiştir. İşte, “baştan yazalım” diyen yazılımcı, aklındaki mükemmellikle bu yazılmış kodun çirkinliğini karşılaştırmaktadır. Tabii ki kafasındaki güzel görünür. Ama, işe yaramadan önce o da çirkinleşmek zorunda kalacaktır bir miktar.
BYH, enteresan bir hastalıktır. Ekipten biri bunu söyledi mi, hızla taraftar da kazanır. Arada kuvvetli bir ses çıkmazsa, sonuç hastalığın ilerlemesi olur…
BYH nasıl önlenir? Birincisi, yazılımcıların işlerinin yalnız kod yazmak değil, aynı zamanda kod incelemek ve düzeltmek (“hacking”, “refactoring” önemlidir!) olduğunu kabul etmeleri gerekir. İkincisi, eski kodu oturup anlamanın genel olarak daha faydalı olduğunu öğrenmeleri de gerekir. Üçüncüsü, yeni bir şeyler öğrenmekten korkmamaları da gerekir.
Peki, baştan yazmak her zaman hastalık mıdır? Elbet değildir. Bazı “normal” durumlarda da bir şeyler baştan yazılabilir. Mesela:
— Yeni proje eskisinden çok büyük ise: Yeni proje, devralınan koddan çok büyük olacaksa, baştan yazmak hastalık olmayabilir. Eskinin problemlerini peşinden getirmek yerine, temiz bir başlangıç daha akıllıca olabilir. Ancak, bu durumda bile eski kod incelenmelidir.
— İlgili kodun kullanılacak kısmı çok az ise: Koskoca bir kütüphanenin çok az bir marifeti kullanılacaksa ve o kütüphane GGS’ye (Gereksiz Genellik Sendromu) kurban gitmişse, kendi işini kendin görmek doğru bir yaklaşım olabilir.
Fakat, bu normal sayılan durumlarda da dikkatli olmak gerekir. İşler sarpa sarıp, Amerika’yı yeniden keşfetmeye hiçbir durumda varmamalıdır…
Hayır, baştan yazmayalım!
Bir cevap yazın