Her yazılımcının hayalidir hatasız program
yazmak. Ama bu sadece teoride mümkün olabilir, gerek platform, gerek analiz,
gerek test, gerekse kodlamaya dayalı hata çıkabilme oranı %50 seviyelerindedir.
Yazılım sektöründe hatalara genel olarak BUG adı verilir.
BUG kelimesinin tarihçesinin
bilgisayarların bir oda kadar olduğu zamanlarda o odalarda görülen gerçek
böceklere dayandığını bilmek belki bir nebze olsun sizi rahatlatacaktır.
Hayal edilen hatasız program yazmak olsada
birçok hata çıkabileceğini de göz önünde bulundurmak gerekir. Yine de amaç daha
az hata çıkmasını sağlamak, çıkan hatalara da kısa sürede çözüm sağlayabilmek
olmalıdır. Hata neden çıkar? ya da Hata çıktığında nasıl bir yol
izlemek gerekir? bilgisi programcının kodlama kalitesini arttıracağı gibi
uygulamanın başarısını da arttırır.
Bug oluşumunun birçok sebebi olduğu halde genel
nedenleri aşağıdaki şekilde sıralanabilir;
Önce kodla sonra düşün yaklaşımı:
Çoğu zaman, ihtiyacın analizine yeterli zaman ayrılmadığında/ayrılamadığında karşılaşılan durumdur. Kodlama yapılırken hatta sonuna doğru çok fazla değişiklik gerektirir, bazen işin en başına dönme durumları oluşur. Bu da hem kodlama süresini arttırırken hem de işin sonunda aslında istenilenden farklı bir uygulama çıkmasına sebep olabilir. Bu nedenle bir ihtiyacın analizi aslında işin temelini oluşturduğundan en önemli kısmıdır.
İhtiyacın yanlış çözümlenmesi ve/veya yanlış anlaşılması:
İhtiyaç net cümlelerle gerekirse ekran ekran, satır satır belirtilmediğinde, programlamayı yoruma açık hale getirmeye neden olacaktır. Bu da istenenden farklı bir uygulama çıkmasına veya zamanın boşa harcanmasına neden olabilir. Bu nedenle kodlamaya başlanmadan önce netleşmemiş bir adım olmaması çok elzemdir.
Programlamaya
başlamadan önce ihtiyacı düşüncede değerlendirmek , hatta onu kağıt üstüne
dökmek, adım adım algoritmasını çıkarmak; o işte karşılaşabileceğiniz
aksaklıkları, hataları önceden görmenizi sağlayacağı gibi işi bölümlemenizi
sağlayarak kodlama süresini de kısaltacaktır. Bu da biten uygulamada çıkan hataları
büyük oranda azaltır.
İlk değerlerin atanmaması, taşmalara sebep
olacak veri tiplerinin kullanılması, tip dönüşümlerinin kontrolsüz
gerçekleştirilmesi, değişkenlerin gerektiğinde sıfırlanmamaları basit ve çoğu
zaman atlanan kontroller olduğu halde uygulamada ilk ve çoğunluk hataların
alınma sebepleridir.
Girdilerin doğruluğunun sınanmaması:
Ekrandan
girilebilecek ya da farklı sistemlerden gelen parametrelerin kontrol edilmeksizin
ya da yeterince kontrol edilmeksizin kullanılması da hatalara sebebiyet verir.
Bu aşamada yazılımcı kontrolleri yetersiz kalabileceğinden test ekibi
tarafından ilk kontrol edilecek adımlardan olmalıdır.
Kodlamanın gerektiği kadar basitleştirilmemesi:
Birçok işi bir arada yapan süper fonksiyonların/nesnelerin kodlanması, yordamların çok uzun olması, katman ve görevlerin birbirlerinden yeterince ayrıştırılamaması kod akışının takibini zorlaştırdığı gibi, zamanla yordamın asıl amacından çıkılmasına neden olabilir. Bu nedenle yordamların en küçük iş bloklarına kadar ayrılmış olması hem işin takibini kolaylaştıracak, hem de ortak kullanıma daha uygun hale getirecektir. Bu da büyük projelerde kod kirliliğini önlerken, maliyeti de azaltır.
Hatanın neden çıktığı , nasıl
önlenebileceği konuları sorunun kaynağını düzeltir. Fakat gerçek hayatta sadece
kurallara uymak yeterli olmaz.
Eski veya çok büyük bir projede çalışıyorsanız,
projede çok sayıda kişi çalışıyorsa ya da projede çok sayıda modül varsa; tüm
bu kurallara proje başlangıcından beri uyulmuyorsa hata çıkabilir. Ya da var
olan bir projeye ekleme yaptığınızda kod etkileşimi varsa da öngöremediğiniz
bir hatayla karşılabilirsiniz. Bu durumda hatayı önlemek kadar, var olan bir
hatayı doğru ve hızlıca çözmek de en az hata yapmamak kadar önemlidir.
Esin KAPUCU
Yorumlar
Yorum Gönder