WM Dergi - 9.SAYI | Page 74

İşe başladığımda önceki yazılımcı ile oturduk ve o bana uygulamayı göstererek yüzeysel olarak nerede ne yaptığından, neyi nasıl yapmak gerektiğinden falan bahsetti. Projede ödeme sistemi, üyelik, blog, gelişmiş içerik yönetim sistemi vb. bir çok modül bulunuyordu. Bunlar ne lafla devredilecek ne de 2 günde anlaşılacak şeylerdi. (Bknz: Söz uçar, yazı kalır.) Sonuç olarak 2 gün sonra ben projeyle başbaşa kaldım. Kodların içinde nerede ne kullanıldığını, neyin nasıl çalıştığını anlamak için bol bol kodları incelemek, orasını burasını pırkalamaktan başka çarem yoktu. “Şuraya şunu ekleyelim” , “Buradan bunu çıkartalım” gibi basit istekler geldiğinde bile 5 dakikalık iş 1 saatte zor bitiyordu. Tabi burada “Önceki yazılımcı çok kötü kodlamış yaa!” diyerek onun kodlarına çamur atmıyorum. Sadece dokümantasyonu olmayan bir projenin geliştirilmesinde ki zorluğu vurgulamaya çalışıyorum. Eğer benden önceki yazılımcı bir framework kullansaydı; 74 • Genel itibariyle klasör yapısında nerede nelerin olduğu • Hangi kütüphanenin hangi parametreleri aldığı • Hangi fonksiyonu çalıştırdığımda geriye ne döneceği gibi bir çok şeyi kodların, dosyaların içerisinde aramak yerine, dokümantasyondan hızlıca bakarak ilerleyebilirdim. Yani çekirdek düzeyde en azından framework’ün sunduğu şablona/ölçülere göre uygulama geliştirilmiş olurdu. Ben de bu şablona göre çok daha rahat ve hızlı bir şekilde ilerleyebilirdim. Şirket iş ilanı çıkarken de “X Framework bilen” birini arar ve projeye adaptasyon sürecini minumuma indirerek verimliliği arttırabilirdi. Şunu da belirteyim; “Düzenli ve geliştirilmesi kolay bir sistem için mutlaka bir framework kullanmak gerekir” gibi bir genelleme asla yapmadım/yapmıyorum. Eğer standartlara uygun kod yazılıyorsa ve bunu başka bir yazılımcının kolayca anlayabileceği, projeye dahil olabileceği şekilde dokümante ediyorsanız zaten Framework’lerin sağlamak istediği şeyi başarmışsınız. Şimdi “Benim kendi Framework’üm var!” diyen meslektaşım; Senin Framework’ün bir dokümantasyonu var mı? Kaynak kodlarını bana göndersen ben hızlıca proje geliştirebilir miyim? Yaptığın bir projeyi üçüncü bir şahıs kolayca düzenleyip geliştirebilir mi? Ne dersin Class, Function yığınlarından oluşan herşeye Framework demeye devam edecek miyiz?