Kod Yazmak Yazılımın Neresinde ? || Başarmak Paylaşmaktır...!
Engeller beni durduramaz, her bir engel kararlılığımı daha da güçlendirir…
jQuery Kullanıcı Girişi
Kod Yazmak Yazılımın Neresinde ? Yazar :
Bir kılıç ustasının eline en iyi kılıçlardan birini verirler. Ustanın gözünü kapatıp savaş meydanına sürerler. Kılış ustası hafif yaralanır ama dost düşman demeden çevresinde kim var kim yok kesip atmıştır…
Bir projeye başlarken ne yapacağını bilmemek gözleri bağlı kılıç ustasının savaş meydanında savaşmasına benzer. Kod yazılır, yeni ihtimaller doğar kod değiştirilir, farklı sonuçlar görülür baştan kodlanır tekrar en başa tekrar en başa… bu döngü uzun süre bu şekilde devam eder ta ki proje son şeklini alana kadar.
Amatör geliştirmede de yaşanan en büyük sıkıntı belki de bu. Bilgisizlikten ziyade yapılacak işin araştırılmamış olmaması. Bu yönden bakıldığında kod yazmak yazılımın neresinde acaba? En önemli yerinde mi yoksa en son kısmında mı?
Bir programlama diline baktığımızda yazılan kodlar bellidir. Basitçe örneklemek gerekirse Bir otomasyon projesinde veri tabanından okuma yazma güncelleme silme işlemi dışında yapılan iş çok azdır. Bu işlemleri biraz kendini ilerletmiş birisi rahatça yapabildiğine göre proje geliştirmeyi engelleyen ne? Elbette ki iş akışının tasarlanamamasıdır.
Bir proje ele alındığında konu ile ilgili araştırma yapılmalı, veriler kağıda dökülmeli, ihtimaller düşünülmeli, benzer uygulamalar incelenip art ve eksi yönleri çıkarılmalı. Son olarak analiz yapılıp ortaya bir model dökülmeli. Model ne kadar iyi ve esnek tasarlanırsa ileriki zamanlarda geliştirilmesi de o kadar olacaktır.
İyi bir modelleme işleminden sonra kod yazmaya geçilebilir fakat nasıl kod yazmak?
-Kod yazarken hata kontrolü yapılmalı try-catch blokları kullanılmalı. Bu durum istisnai durumlarda uygulamanızın istem dışı davranmasını engelleyecektir. Ayrıca hataların loglanması kontrolü tamamen geliştiriciye verecektir.
-Kodlama notasyonunuz olsun. Belli bir kodlama notasyonuna bağlı kalmanız hem projenizin ileriki zamanlarda okunabilirlik ve geliştirile bilirliği açısından hem de kullandığınız metotları tekrar kullanmak istediğinizde rahat kullanmanız açısından işinizi çok kolaylaştıracaktır. Kodlama notasyonu olarak Macar notasyonu gibi sık kullanılan bir notasyon tercih etmeniz sizi hem de geliştirecektir.
-Object-Oriented Mantığı ile kod yazın. Nesne yönelimli programlama ile kod tekrarlarından kurtulur hem de iş öbeklerini belirleyip projenizin daha esnek ve modüler olmasını sağlarsınız. Fakat Object Oriented ı sadece public class tan ibaret kullanırsanız bu projenizi sadece fonksiyon dosyalarına bölmenizi sağlar Nesne yönelimli yazılım tasarımlarını (Object Oriented Design)kesinlikle inceleyin ve kullanın.
-Kodlarınız içinde sıkça yorum cümlelerine ve summarylere yer verin bunlar gelişen projenizde neyi niçin yazdığınızı hatırlamanızı sağlayacaktır.
-Performans a özen gösterin. Yazdığınız kodu en iyi performansla nasıl çalıştırabileceğinizi düşünün. Örneğin veri tabanına defalarca gitmek yerine tek seferde datatable a atabilirsiniz. Ama Verileri DataTable a yüklerken fazla veri yüklememek için mümkün olduğunca parametrik metot yazmalısınız.
-Kullandığınız dil ve framework ün özelliklerini bilin. Bu size avantaj ve zaman kazandıracaktır.
-Hamallık ile Profesyonelliği karıştırmayın. Gereksiz kod yazmak hamallıktır. Ama fazladan size fayda sağlayacak kodu yazmak profesyonelliktir.
-Projenizde kullanacağınız component setleri, raporlama dll lerini inceleyin hangisinden daha fazla verim almışsanız onu kullanın.
-Bir kodu bir kez yazın ama tam yazın. Koda tekrar tekrar geri dönmek size belli bir süre çıkmaza sürükleyecektir. Bundan dolayı kodunuzu yazarken her olayı düşünerek yazın ve bir kez yazın.
Bu maddeler arttırılabilir fakat genel olarak özetlemek gerekirse aklıma gelenler bunlar.
Dikkat ederseniz daha kod yazma aşamasına gelmedik bahsedilen şeyler proje ihtiyaçlarının belirlenmesi, modelleme, kod nasıl yazılmalı nelere dikkat edilmeli gibi şeyler… Bunları başardıktan sonra kod yazma aşamasına geçilebilir.
Profesyonel Olmak için Profesyoneller ile Çalışmalısın *