Kod yazarken sadece bugünü değil, yarını da düşünmek gerekir. Bu yazıda, geleceğe uygun yazılım geliştirme prensiplerini ve karşılaştığım gerçek bir örnek üzerinden alınan dersleri paylaşıyorum.
Yazılım geliştiriciliği, yalnızca çalışan bir şey ortaya koymakla ilgili değildir. Daha doğrusu yalnızca bugünü kurtarmak için yapılan geliştirmeler, yarının sorunlarını büyüterek karşımıza getirir. Geçici çözümler, günü kurtarır ama sistemi batırır. Bu yazıda, bir yazılım geliştiricinin sorumluluğunun sadece kodu çalıştırmak değil, onu sürdürülebilir, genişletilebilir ve öngörülebilir hale getirmek olduğuna dair bazı düşüncelerimi ve yaşadığım bir örneği paylaşmak istiyorum.
Çalıştığım projede, bir sayfa tasarımı yapılmıştı. Görünürde çalışıyordu. Fakat satır aralarını incelediğimde şöyle bir yapıyla karşılaştım:
Yani bir bakıma, “bu iş böyle gider” varsayımı üzerine kurulan yapı, ilk rüzgarda yıkılan bir çadır gibiydi.
Sonuç mu?
Ben sayfayı baştan aşağı yeniden yazmak zorunda kaldım. Çünkü sistem geleceği öngörmeden, sadece bugünkü ihtiyaçlara göre tasarlanmıştı.
Kodun doğru çalışması bir gereklilik ama yeterlilik değil.
Şunu unutmamalıyız: Yazılım, değişime açıktır. İhtiyaçlar büyür, müşteri sayısı artar, iş mantığı evrilir. Bu yüzden:
Kod, bir zanaattır. Geçici değil, kalıcıdır. Bugün attığın temel, yarın çıkacak katların kaderini belirler.
Geliştirici olarak bazen şöyle hissedebilirsin: “Bu şekilde çalışıyor işte, neden daha fazlasını yapayım?”
Ama şunu sormalısın:
Bugün doğru çalışan ama geleceği düşünmeden yazılmış kod, gelecekteki hataların tohumu olabilir. Unutma, işin sadece yazmak değil; sürdürülebilir, yönetilebilir, evrilebilir bir yapı kurmak.
Bugünü kurtarmak kolaydır. Ama yazılımda esas marifet, geleceği kurtaran çözümler üretmektir. Kodun sadece çalışması değil, yarına da anlamlı bir miras bırakması gerekir.
Bir işi ilk defa yapıyorsan, onu en doğru şekilde yapmak senin sorumluluğundur. Çünkü bir şeyi yeniden yazmak, ilk defa yazmaktan daha pahalıya patlar.
“Kod, onu yazdıktan sonraki gün başkasına emanet gibidir.”
Ve unutma: O “başkası” bazen yine sen olursun.