C# Hata Kavramı ve Tarihi(Bug,Debug)

Muhammet Ali
9 Haziran 2015 Salı
0

Yazılım dünyasında kesin olan bir şey varsa, o da hatasız kod yazılamayacağıdır. Uygulamayı geliştiren yazılımcının deneyimi ne olursa olsun, projenin büyüklüğü ne olursa olsun hatalar kaçınılmazdır. Hatalar, yazılımcının yanlışlıkla yazdığı bir koddan, daha önce öngöremediği bir durumdan veya kullanıcıdan kaynaklı olabilir. Yazılım geliştirirken hatalardan korkulmaması gerekir. Korkulacak olan durum, bu hataların, uygulama piyasa sürüldükten sonra ortaya çıkmasıdır. Yazılım geliştirirken uygulamanın verdiği her hatayı çözerek, daha sağlıklı bir uygulama ortaya çıkarmak yazılımcının temel görevlerinden bir tanesidir.

Kullanıcıya daha sağlıklı bir ürün verebilmek için yazılım firmaları, piyasaya sürecekleri uygulamalarının hatalarını, önce kendi test mühendisleri sayesinde bulur ve düzeltir. Daha sonra bu uygulamanın beta sürümlerini çıkarıp son kullanıcılardan gelecek hata bildirimlerini alırlar ve o hatalarıda giderirler.  Bu uygulama geliştirme süreci de bazen yeterli olmaz, sırasıyla CTP (Community Technology Preview) sürümlerini, daha sonra da RC (Release Candidate) sürümlerini çıkarırlar.
Tüm bu sürümler sonucu kullanıcılardan gelen hata bildirimleri doğrultusunda, son hataları da ayıklayıp ürünü piyasaya çıkarırlar.  Hatta büyük ölçekli programlarda bunlar bile çoğu zaman tüm hataları arındırmak için yeterli olmaz; hataları gidermek için uygulamalara patch (yama) veya service pack çıkarırlar.

Yazılım jargonunda hatalara bug, hata ayıklama işlemine ise debugging denir. Aslında bug ve debug kelimelerinin, hata ve hata giderme yerine kullanılması oldukça gariptir. Çünkü bug ingilizce böcek, debuging ise böcekten arındırmak demektir. Bu kelimelerin neden yazılım dünyasında kullanıldığının ilginç bir hikayesi vardır. 9 Eylül 1947’de Amerika’da Mark II adlı askeri bir bilgisayar durup dururken bozulur. Mark II, bir oda büyüklüğünde, birçok elektronik parçadan oluşan ve amacı sadece matematik işlemleri yapmak olan bir bilgisayardır. Uzun araştırmalardan sonra teknisyenler sonunda bozukluğun sebebini bulurlar: Devrelerin arasına sıkışıp kalan, kendiyle beraber, devreleri de kömüre döndüren bir böcek. Böceğin devreden alınması ve gerekli tamiratın yapılmasından sonra Mark II tekrar sorunsuz şekilde çalışmaya başlar. Mark II’den sorumlu asker Grace Murray Hopper, bilgisayarın günlük rapor defterine böceği bantla yapıştırıp şu notu düşer: “First actual case of bug being found.” (Böceğin ilk vakası bulunmuştur.). O tarihten bu tarihe bilgisayarlarda meydana gelen hatalara “bug”, bu hataları çözme işlemine de “debug” denir. O defter sayfası günümüzde,  National Museum of American History müzesinde sergilenmektedir.(Böceğin ve Grace Hopper’ın resimlerini http://en.wikipedia.org/wiki/Admiral_Grace_Hopper adresinde bulabilirsiniz.)

Uygulamalarınızı hatasız (bu durum imkansız olduğuna göre en az hataya sahip demek daha doğru olur) bir şekilde kullanıcıya sunmak bir yazılım geliştirici olarak temel görevlerinizden bir tanesidir.   Bu bölümde hataları nasıl bulacağınızı, daha da önemli olarak bu hataları nasıl gidereceğinizi göreceksiniz. 

Daha sonraki makalelerimizde hata çeşitlerini ve çözüm yöntemlerini bulabilirsiniz.



Yorum yaz