8 ways to reduce bugs while coding yazısında yazılım geliştiriciliği yapılırken göz önünde bulundurulması gereken güzel noktalara değiniliyor. Bu nedenle Türkçe’ye çevirmemin faydalı olacağını düşündüm. Kendi eklemelerim de var. Umarım faydalı olur.
[caption id=“attachment_1719” align=“alignright” width=“300” caption=“Acrosternum hilare (a.k.a osuruk böceği)”][/caption]
-
**Testler yazın: **Hazırladığınız modüller için birim testleri (unit test) ve bütünlük testleri (integration test) yazın. Test-Code-Test prensibini uygulayın, kodlarınızı yazdıkça test edin. Metodların mümkün olabilecek bütün girdilerine göre davranışlarını nasıl idare ettiğini gözlemleyebileceğiniz test durumlarını (test case) hazırlayın. Düzenli olarak çalıştırabileceğiniz otomatize edilmiş test durumlarınızın olması hataları erken fark edebilmenizi sağlar.
-
Araçlar kullanın: Statik kod analiz araçları işinize yarayabilir. Örneğin Findbugs, Java kodlarınız üzerinde incelemeler yaparak olası hataları (bug) bulmanızı sağlar, Ruby için GetExceptional, Python için pylint, PyChecker kullanabilirsiniz. Web uygulamalarınızdaki olayları ve elementleri de Selenium ile birden fazla tarayıcıda otomatik olarak test edebilirsiniz.
-
**Derleyici uyarıları: **Derleyicilerin (compiler) bildirdikleri uyarıları göz ardı etmeyin. Derleyicileri “sadece hataları göster” (show only errors) seviyesinden “uyarıları göster” (show warnings) seçeneğiyle çalıştırmanız derleme esnasında bazı bariz olası hataları görmenizi sağlar ve programınızın ileriyle uyumluluk problemleri hakkında bilgiler sunacaktır. Programı kodlayıp “çalışır” hale getirmek hatasız kodladığınız anlamına gelmez.
-
Kod inceleme: Kodunuzu yapım aşamasına ulaştırmadan önce arkadaşlarınız-meslektaşlarınızın kod incelemesine sunun. Böylece hem daha verimli yöntemler görebilirsiniz, hem farkında olmadığınız hata durumlarını arkadaşınızdan öğrenebilirsiniz, hem de hata durumunda manevi olarak sorumluluğu paylaşabilirsiniz. Başkasının kodunda hata bulma konusu meslektaşlar arasında eğlenceli bir yarış olarak algılanmalıdır.
-
Hata günlükleri (log): Kodunuz (özellikle prodüksiyon ortamında) çalışırken davranışlarını izlemek için hata ayıklama (debug) yapmak zor olacağından kodunuz çalışırken gerçekleştirdiği eylemleri ve ürettiği hataları ‘warning’, ‘info’, ’error’, ‘debug’, ’trace’ gibi hata seviyeleriyle hata günlüğüne yazdırıp hatayı tarihiyle beraber görebilirsiniz. Bu şekilde sistemin işleyişinin nerede bozulduğunu hata günlüğünnden kolayca bulabilirsiniz. Örneğin Java için log4j kütüphanesi kolay kuruluma sahiptir ve kullanışlıdır. Her dilin benzer loglama kütüphaneleri mevcut.
-
Mevcut kütüphaneleri kullanın: Tekerleği yeniden icat etmeyin. İhtiyacınız olan kütüphane daha önceden başkaları tarafından geliştirilmiştir ve_ büyük ihtimalle_ açık kaynaklı olarak paylaşılan olgun düzeyde bir projedir, çok sayıda testi yapılmıştır ve hatası ayıklanmıştır, ek olarak performanslı çalışıyordur. Kütüphanenin jenerik açıklamasını arama motorlarında aramayı deneyin.
-
Sözde kod (pseudo-code) y****azın: Modülü-algoritmayı geliştirmeden önce aşağı yukarı ne yapacağını adım adım pseudo-code olarak yazmak kodlama aşamasına geçtiğinizde algoritmanın kendisini düşünmenizi engeller. Bu nedenle implementasyon detaylarıyla boğuşurken yanlış çalışan bir algoritma yazma ihtimalinizi düşürürsünüz.
-
Dikkatinizin dağılmasını engelleyin: Kod yazarken dikkatinizin dağılması hatalı kod üretmekteki bir numaralı etmen. MSN’den birilerinin yazması, Twitter güncellemeleri, yeni e-posta bildirimleri çalışmanızı engelleyebilir. Etrafınızdaki gürültü vb. de aynı etkiyi yapabilir. Konsantre olamıyorsanız ve çok sık bilgisayar başından kalıp gezip geliyorsanız psikiyatrınızla görüşebilirsiniz. Bunun yanında RescueTime, Pomodoro gibi hizmetleri kullanmak yapılacak işlerinizin göz önünde olmasını ve odaklanmanızı sağlayabilir. Sizden Gelenler
-
(Coşkun Taşdemir) Yoda Syntax kullanın: Sınama tümcelerinizde (a==3) diye kontrol etmek yerine (3==a) diye kontrol ederseniz bazı dillerin (C, PHP vb.) yanlışlıkla “if (a=3)” şeklindeki yazımı a değişkenine 3 koyarak a>0’ı doğru kabul edip sürekli doğru döndürmesini ve istenmeyen biçimde değişkenin değerinin değişmesini önleyebilirsiniz.
-
Sizin düşünceleriniz neler? Bloga yorum olarak ekleyebilirseniz, böylece sizden gelenlerle yazıyı güncelleyebiliriz.
Leave your thoughts