Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > yazılım geliştirmede dikkat edilmesi gereken noktalar
Yazar
miraz


avatar
IGDIR
Kayıt: 01.02.2006
10.09.2007-13:43 #27205
Yazılım Geliştirme ve Böcek Ayıklama

İyi bir programın temel özellikleri; bunun sırası sizin stilinizi belirler:

* Doğruluk : Verilen görevlerin tam olarak yerine getirilmesi.
* Dayanıklılık : Beklenmedik hatalardan dolayı programın çalışması kesilmemeli.
* Genişleyebilme : İleri aşamalarda görevlerin değişikliği veya yenilerinin eklenmesi kolay olmalıdır.
* Basitlik : Karmaşık tasarımlardan kaçınmak gerekir.
* Modülerlik : Program kodları başka programlarda da kullanılabilmelidir.
* Uyumluluk : Başka bilgisayar ve sistemlerde çalışabilmelidir.
* Kontrol edilebilirlik : Hata olabilecek yerlere açıklayıcı hata mesajları konulmalıdır.
* Kolay kullanım : Kullanıcı arabirimi kolay olmalı ve rahat öğrenilebilmelidir.
* Parçalanabilirlik : Problemi küçük parçalara ayrılarak yazmak.
* Anlaşılırlık : Başkasının yazdığı program elden geçirilirken rahatça okunabilmeli.
* Koruma : Modüller birbirlerine müdahale etmemelidirler.

Bir program yazarken aşağıdaki öneriler işinize yarayabilir:

* Yazılımınız ne kadar büyürse o kadar içinde bug - böcek bulunma ihtimali artar.
* Böcek oluşmasını nasıl önleyebileceğinizi, otomatik olarak nasıl yakalayabileceğinizi düşünmelisiniz.
* Algoritmanızı oluştururken, kullanacağınız dili tam olarak öğrenerek koşullarınızı tamamlayınız.
* Birden fazla yol göz önüne alarak alternatifler ekleyin.
* Çalışma anında beliren böcek sinyallerini göz ardı etmeyin. Kendi kendilerine kaybolmazlar. Bunu beklerseniz onlar daha da büyürler.
* Değişkenlerinizin değerlerini takip edin ve aykırı değerler almaları ne zaman ve nerede oluşuyor debug - böcek ayıklama ile görün.
* Eğer programınızı kontrol amacı ile adım adım işlemekten çekinirseniz, tahmin etmediğiniz hatalarla kullanıcı muhatap olmak zorunda kalır.
* Denetlenmesi kolay adlandırma ve algoritmalar oluşturun.
* Hızlı çalışan program yapmak için dayanıksız kodlar oluşturmayın.
* Belki tasarımınızı baştan tekrar oluşturmanız gerekebilir ama yazılımınızı her zaman test edin.
* Kestirme ve pratik programlama risklidir. Kendi ihtiyacınıza göre çözüm üretin.
* Ara sıra temizlik yaparak, artık yani artan kodlarınızın böceğe sebep olmamalarını sağlayın.
* Goto deyiminden kaçınmak, programın karmaşık dallanmalarını önler ve derleyicinin optimizasyonunu arttırır, fakat yine de yerinde kullanılan goto ile kod daha anlaşılır ve verimli olabilir.
* Yaptığınız değişiklik çok küçük olabilir, ama hata oluşturabileceğini de unutmayınız.
* Sürümler oluşturarak ilerleyin. Son ticari halinden hata ayıklama kodlarınızı çıkararak küçülterek ilgililere teslim edin.
* Program içine yerleştirdiğiniz açıklama satırları az ve öz olmalı, ya da hiç yazmayın.
* İmkansız olan bir girdi olabilir mi? Kullanıcı her zaman sizin gibi düşünmez. Bu ihtimallere de önlem almalısınız. Sorunları sessizce çözen kodlar yazabilirsiniz.
* Böceği gizlemekten çok onu yok etmeye çalışın.
* Farklı algoritma kullanarak böceklerin sebebini çözebilirsiniz.
* Devamlı hata mesajları ile kullanıcıyı telaşlandırmayınız.
* Böceği açığa çıkarmanın yöntemi, onu bulduğunuz anda ortadan kaldırmaktır. Böcekleri tekrarlamaya zorlayın.
* Yolları kesmekle şehirdeki eşkıyaları yok edemezsiniz, sessizce bekleşiyorlardır. Evleri tek tek aramak eşdeğeri olan, programınızda böcekleri aktif olarak arayan kodlar ekleyebilirsiniz.
* Çok az sayıda programcı kodlara kesme noktaları ekleyerek, kod içinde adım adım ilerleme ve girdilerin çıktıya dönüştüğü yerlere bakma alışkanlığına sahip. Bu işlemler angarya değildir.
* Kodunuzda adım adım ilerlerken veri akışına odaklanın.
* Arabiriminizdeki aksaklıkları bulup yok edin.
* Kaybolan bir böceği göz ardı etmeyin, gizleniyor olabilir.
* Zamanında bulunan böcek daha fazla böcek oluşmasına engel olur.
* Belirtiyi değil, oluşum nedenini düzeltin.
* Aptal böcek yoktur. Asıl sorun programcının onu bulamamış olmasıdır.
* Aynı böceğin sizi iki kere sokmasına izin vermeyin!

Bilgisayar kullanımı ile ilgili bir kaç ipucu:

* Windows'unuz devamlı göçüyor, mavi ekranla karşılaşıyorsanız, bunun sebepleri ya o sırada çalışan hatalı bir program yada ucuz donanım parçalarıdır. Markalı RAM ve iyi bir anakart alın.
* Antivirüs programınızı devamlı çalışmasına gerek yok. Klasöre ve dosyaya sağ tıklayıp da "Virüs kontrolü yap" diyebilen antivirüs yazılımı kullanabilirsiniz.
* CD'deki Memturbo ile RAM'inizi düzenleyebilir, More programı ile Windows’unuza ince ayarlar yapabilirsiniz.
* Masaüstünde resim kullanmak yerine teal - yeşil, siyah veya koyu mavi gibi tek renk kullanmanız genel performansı olumlu etkiler. Yazıların okunaklı renklerde olması gözü en az yoran faktördür. (sarı üzerine siyah gibi...)
* Evdeki bilgisayarınızın ekran koruyucusuna şifre vererek masaüstüne kısayolunu yapın, istediğiniz an aktif yaparak başkalarının yaptıklarınıza karışmasına izin vermeyin.
* Masaüstündeki gereksiz kısayolların hepsini silin. Böylece Windows bir de onları güncellemekle uğraşmaz. Zaten Windows Gezgini (Win+E) yeterince kullanışlı bir programdır.
* Dosya uzantılarının "Klasör Seçenekleri*Görünüm*Bilinen dosya türlerinin dosya uzantılarını gizle" seçeneğini iptal ederek gözükmelerini sağlayın.
* Klavye kısayolları iyi bilgisayar kullananların en büyük yardımcısıdır. Fare yerine Alt+Tab, Win+D, gibi kısayolları kullanmak daha hızlıdır. Kullandığınız paket programların da kısayollarını en kısa(!) zamanda öğrenin.
* MS-DOS!a kalırsanız Norton Commander en büyük yardımcımızdır. Kullanmayı öğrenin.
* Bir programı kullanmayı seviyor olabilirsiniz, ama alternatif programları da muhakkak deneyin. Yine geri döneceksiniz, fakat bazen işe yarıyor.
* Her şeyin son versiyonunu kullanmak zorunda değilsiniz. Elinizdekileri en iyi şekilde kullanma çalışın.
* Norton Utilities gibi komple çözümlerle Windows’unuza bakım yapın. WinDoctor ile registry temizliği, SpeedDisk ile disk birleştirme yapın.
* Muhakkak elinizin altında İngilizce sözlük bulunsun. WordWeb32 programı çok kullanışlı.
* Devamlı hafızada yer işgal eden gereksiz bütün programları açılıştan " "Başlat*Çalıştır... *msconfig" ile iptal edin.
* Eğer güzelce çalışan bir donanımınız var, ve siz de "Dur şunu daha hızlandırayım!" diye yola çıkmışsanız, büyük bir ihtimalle elinize mahvolmuş bir Windows veya bilgisayar geçer. Özellikle BIOS ve registry - Windows Kayıt Veritabanı ayarları çok tehlikelidir.
* Donanım upgrade - güncelleme işlemi ancak zamanında yapılırsa güncellemedir, yoksa para kaybıdır.
* Bilgisayarda radyo dinlemek, televizyon seyretmek güzel şeyler, fakat en iyisi normal radyo teyp ve televizyondan yararlanmak. MP3 dinlemek serbest neyse ki...
* İnternet'e firewall - ateş duvarı programınızı çalıştırmadan çıkmayın. Norton Internet Security ve Tiny Personal Firewall tavsiyem.
* İnternet'te sadece chat ve gereksiz siteleri dolaşmakla faydalanmayın. Site tasarlıyorsanız sitenizi, bir ton hareketli *.gif (*.gif en fazla 256 renk olabiliyorken, *.jpg renk bozumuna uğramadan görüntü kalitesini düşürür), siyah arka zemin, herkesin zaten bildiği sitelere ana sayfadan link, SMS, MP3, komiklikler, salakça Flash animasyonları ile doldurmayın. Zaten bu tip bir sürü site var, sitenize neden insanlar gelsin ki?
* Vee oyunlar. Muhakkak oyun ile stres atıyorsunuzdur. Ama işyeri ile evi birbirine karıştırmayın.
* Bilgisayar kullanırken boyun, el, bilek, sırt ağrıları çekiyorsanız, bunların kronikleşmesine izin vermeden sebeplerini giderin. Düzgün masa, sandalye, ergonomik klavye ve fare, rahat görebileceğiniz ekran ve çözünürlüğü gibi...
* Bilgisayarınıza ne kadar özen gösteriyorsanız aynı şekilde çevrenizin de temiz ve düzenli olmasını sağlayın. Kitaplarınızı, CD'lerinizi yıpranmaktan koruyun. Park ve bahçeleri de...

Murphy'nin Yasaları:

* Ters gidebilecek bir şey mutlaka ters gidecektir. Hatta tersliğin en az mümkün görüldüğü anda bile.
* Siz süpermen değilsiniz.
* Aptalca görünen bir şey işe yarıyorsa, o şey aptalca değildir.
* Emin değilsen silahını dolu kabul et.
* Eğer saldırı iyi gidiyorsa, pusuya düşmüşsündür.
* Tüm beş saniyelik el bombaları üç saniyeliktir.
* Kolay yol her zaman mayınlanmıştır.
* Önemli olan şeyler daima basittir.
* Basit olan şeyler daima zordur.
* Eğer düşman menzil içinde ise sen de öylesindir.
* Dost ateşi dostun ateşi değildir.
* Yapabildiğin her şey vurulmana yol açabilir, hiç bir şey yapmaman da dahil.
* Üstüne gelen düşman ateşinden daha isabetli olan tek şey, üstüne doğru gelen dost ateşidir.
* İki taraf da kaybetmeye başladığına inandığı anda, ikisi de haklıdır.
* Profesyonellerin ne yapacağını kestirebilirsiniz, ama dünya amatörlerle doludur.
* Süngü kanunu der ki, mermisi olan kazanır.
* Kusursuz planlar, kusursuz değildir.
* Savaşta üniforması daha gösterişli olan taraf kaybeder.
* Eğer düşmanı görebiliyorsan o da seni görebilir.

Bu son özlü sözleri Askerin Bilgi Defteri’nden aldım. Network " ağ ortamında, multiplayer " çok oyunculu oyun (Counter Strike gibi) oynayan kişiler daha iyi anlarlar bunlardan.

İçindekiler Giriş İndex

Yukarı





miraz




Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb