Hepimizin zaman zaman harika fikirleri oluyor ama iş bunları koda dökmeye gelince
bazı noktalarda tıkanıyoruz nasıl sınıflar olmalı ne nerden hangi veriyi almalı
vb… Peki bu sorunu nasıl aşabiliriz?
Imagine Cup ile başlayan tasarım serüvenimde birkaç noktanın
önemini farkettim, bunlar;
. Projeyi hayal etmek
. Bu hayalin aşamalarını Kağıda dökmek (kağıt gerçekten
projenin olmassa olmazı)
. Sonra bu aşamaları kendi aralarında ufak parçalara bölmek(
mümkün olan en küçük sınıflara ayrılmalı ki modulerlik ve bağımsızlık
sağlanabilsin)
. Ve mümkün olduğunca Interface(arayüz) ve Inheritance(türetme)
kullanın.
. Bu ufak parçaları ve parçaların birbirlerine olan
ilgilerini kağıt üzerinde küçük temsili şekillerle ve oklarla göstermek
. Eğer biliyorsanız UML’den yararlanıp bilmiyorsanız hayal
gücünüzle bu parçaları sınıf haline dönüştürmek (hala kağıt üzerinde).
. Sınıf haline dönüştürürken içerebileceği değişkenleri ve
metotları (sadece yaptıkları işi kısaca örneğin topla() gibi anlamlı bir
isimle) belirtmek
. Sınıfların nasıl haberleşeceğini düşünmek. Burada mutlaka
son teknolojileri uygulayabileceğiniz bir yazıım yaratmaya çalışın.
. Bu aşamada karşımıza bir proje şablonu çıkmış olmalı; bu
şablonu iyişleştirmek için üzerine kafa yormak (örneğin kod tekrarını yoketmek,
gerekirse tasarım şablonlarından faydalanmak)
. Şu ana kadar hiç kusurunuz
yoksa o kusuru bulmak, çünkü mutlaka değişmesi gereken bir yer vardır
. yavaş yavaş koda dökmye başlamak, bazı yerlerin daha kolay
yapılabileceğini keşfetmek ve mümkün olan en küçük sınıfları kullanmış
olduğunuz için şükretmek.( çünkü değişikliği sadece bir sınıfta yaptık, diğer
sınıflarımız güvende)
Bir yandan da;
. O an aklınıza gelen yapmayı düşündüğünüz her şeyi not alın
aklınız defter değil bunu unutmayın.
. Kodu yazarken sürekli yorum satırları kullanın ki tekrar
döndüğünüzde algoritmanızın ne yaptığını anlayabilesiniz.
. Çizimleri mümkün olduğunca Kurşunkalem kullanarak yapın ki
sildiğinizde ki kesinlikle düzeltmeniz gereken yerler olacak; iz kalmasın.
. Ara sıra çıkıp temiz hava alın, aklınızı boşaltın, hiç
olmadık anlarda aklınıza muhteşem fikirlerin geldiğini göreceksiniz, ve neden
daha önce düşünemedim diye hayıflanacaksınız.
Anlayacağınız üzere iş projeyi tasarlamakta bitiyor, kod
nasıl olsa yazılır.