Franticorpse
Forum Ustası
Kod tasarımı temel olarak beş aşamalı bir süreçtir.
İlk aşama doğal olarak yazılacak programın ne yapacağının kararlaştırılmasıdır, program spesifikasyonları gibi…Bunlar veri girişleri nasıl yapılacak çıktılar nasıl alınacak gibi sorulara cevap vererek programın ne yapacağını açıkça ortaya koyar.
Bunlar o kadar açık olmalıdır ki, programcının karar vereceği nokta sadece hangi metodun bu iş için uygun olacağına karar vermek kalmalıdır, böylece iki ayrı programcıya bu aşama kayıtları verildiğinde benzer programlar ortaya çıksın.
İkinci aşama program spesifikasyonlarında belirtilen probleme yönelik çözümlerin ortaya konmasıdır.Bu kod değildir. Çözüm, görevleri yapmakta verilen ve verilen değerleri işlemede programcının kullanacağı bir takım tekniklerdir. Bazen (gerçekte genellikle) bu teknikler standarttır ve sadece aşırı özel gereklilikler için uyarlamalardır. Diğer türlü olduğunda, programcı yeni teknikler tasarlamalıdır. Öte yandan programcının bir algoritma geliştirirken çözümün ne olacağını bilmesi gerekliliğinde dolayı bu aşama çok önemlidir.
Üçüncü aşama algoritma aşamasıdır. Bu gene kod değildir. Bu adım adım düzenli bir liste halinde, ikinci aşamada probleme getirilen çözümü uygulatan yönergelerin tamamıdır. Algoritma herhangi bir programlama dilinde yazılmaz, dilin gereklilikleri ve grameri önemli değildir. Algoritma geliştirilmesi esnasında önemli olan programcının belirtilen çözüm yolu üzerinde düşünmesidir. Programcı aynı anda bir dile özgü şeyleri de düşünürse süreç daha zorlaşır ve hata yapılma olasılığı artar. Algoritma çok serbest bir stille yazılır.Programcı bu sırada uygulanacak çözüm aşamaları üzerine yoğunlaşabilir.
Dördüncü aşama gerçek program kodu aşamasıdır. Burada programcı geliştirdiği algoritmayı gerçek programlama diline tercüme eder. Burada dilin zorunlulukları ve grameri önemlidir. Algoritma yeterli detayda açıklanmışsa programcı için kolay bir aşamadır. Gereken sadece adım adım algoritmanın tercümesidir.
Ve son aşama Şu bilinmelidir, hiçbir zaman hatasız ve sorunsuz program olmaz. Bir programın hatasızlığı bütün olası girişler bütün olası kombinasyonlar denenmediği sürece kanıtlanamaz-imkansız bir süreç gibi
. Programcı bu aşamada yapabildiği kadar giriş ve bunların kombinasyonlarını dener denenmesini sağlar. Oluşan hata ve sorunlara çözümler üretir, bunları uygular. Bir de şu vardır: Bütün kullanıcılar hata bulma açısından pek zeki sayılmazlar ve genelde hata bulamazlar özellikle müşterileriniz istedikleri işi yapan bir program aldıklarını hissettiklerinde bu program onlar için dünyadaki en iyi programdır.İnanın başka bir program bu işi sizinki kadar güzel yapamaz, ancak günün birinde mutlaka biri gelip bu hatayı bulur ve bu olayın meydana gelmesi ile programı yazma tarihiniz arasındaki aralığın kısa olması müşterinizdeki kredibilite oranınızı düşürür. Bu yüzden olabildiğince çok sayıda olasılığı denemekte fayda vardır.
En son olarak bu beş aşama her zaman harfiyen uygulanmaz ya da çok eki moda bir tasarım süreci olarak görülür(çoğu zaman).Tekrar düzenleme, spesifikasyonları değiştirme ve tekrar kodlama yapılabilir. Fakat bu açık ve düzenli bir süreç olmaz. Ayıca bir aşamayı tekrar başlayarak yenilemekten çekinmeyin fazladan harcadığınız zaman size daha sonra her şeye başlamadan daha az zamana mal olacaktır. Bu arada yine unutmayın “Vakit Nakittir”.
Kaynak : Chapter Two - Part: Code Design
İlk aşama doğal olarak yazılacak programın ne yapacağının kararlaştırılmasıdır, program spesifikasyonları gibi…Bunlar veri girişleri nasıl yapılacak çıktılar nasıl alınacak gibi sorulara cevap vererek programın ne yapacağını açıkça ortaya koyar.
Bunlar o kadar açık olmalıdır ki, programcının karar vereceği nokta sadece hangi metodun bu iş için uygun olacağına karar vermek kalmalıdır, böylece iki ayrı programcıya bu aşama kayıtları verildiğinde benzer programlar ortaya çıksın.
İkinci aşama program spesifikasyonlarında belirtilen probleme yönelik çözümlerin ortaya konmasıdır.Bu kod değildir. Çözüm, görevleri yapmakta verilen ve verilen değerleri işlemede programcının kullanacağı bir takım tekniklerdir. Bazen (gerçekte genellikle) bu teknikler standarttır ve sadece aşırı özel gereklilikler için uyarlamalardır. Diğer türlü olduğunda, programcı yeni teknikler tasarlamalıdır. Öte yandan programcının bir algoritma geliştirirken çözümün ne olacağını bilmesi gerekliliğinde dolayı bu aşama çok önemlidir.
Üçüncü aşama algoritma aşamasıdır. Bu gene kod değildir. Bu adım adım düzenli bir liste halinde, ikinci aşamada probleme getirilen çözümü uygulatan yönergelerin tamamıdır. Algoritma herhangi bir programlama dilinde yazılmaz, dilin gereklilikleri ve grameri önemli değildir. Algoritma geliştirilmesi esnasında önemli olan programcının belirtilen çözüm yolu üzerinde düşünmesidir. Programcı aynı anda bir dile özgü şeyleri de düşünürse süreç daha zorlaşır ve hata yapılma olasılığı artar. Algoritma çok serbest bir stille yazılır.Programcı bu sırada uygulanacak çözüm aşamaları üzerine yoğunlaşabilir.
Dördüncü aşama gerçek program kodu aşamasıdır. Burada programcı geliştirdiği algoritmayı gerçek programlama diline tercüme eder. Burada dilin zorunlulukları ve grameri önemlidir. Algoritma yeterli detayda açıklanmışsa programcı için kolay bir aşamadır. Gereken sadece adım adım algoritmanın tercümesidir.
Ve son aşama Şu bilinmelidir, hiçbir zaman hatasız ve sorunsuz program olmaz. Bir programın hatasızlığı bütün olası girişler bütün olası kombinasyonlar denenmediği sürece kanıtlanamaz-imkansız bir süreç gibi
En son olarak bu beş aşama her zaman harfiyen uygulanmaz ya da çok eki moda bir tasarım süreci olarak görülür(çoğu zaman).Tekrar düzenleme, spesifikasyonları değiştirme ve tekrar kodlama yapılabilir. Fakat bu açık ve düzenli bir süreç olmaz. Ayıca bir aşamayı tekrar başlayarak yenilemekten çekinmeyin fazladan harcadığınız zaman size daha sonra her şeye başlamadan daha az zamana mal olacaktır. Bu arada yine unutmayın “Vakit Nakittir”.
Kaynak : Chapter Two - Part: Code Design