Anasayfa / Yazılım / Action Script 3.0 / Action Script Uygulamalarında Test ve Debug İşlemleri

Action Script Uygulamalarında Test ve Debug İşlemleri

Programlamanın altın kurallarından birisi de hiç kimse mükemmel bir şekilde kod yazamaz. Mutlaka kodlarını test etmeli, debug ettirmelidir. Debug ne demek kısaca değinelim, en basit tabiri ile debug hata ayıklamak demektir, eğer uygulamanızda bir hata mevcut ise bunu programınızı debug ederek görebilir ve hatanızı hemen düzeltebilirsiniz. Debug ve testi neden ayrı yazdım şöyle düşünün. Uygulamanızın tamamını test edersiniz, tamamına bakarsınız. Ama uygulamanızda belirli bir kod bloğunu ya da aralığını kontrol etmek istiyorsunuz, bunu da debug olarak düşünün. Aslında genel mantıkla bakarsak ikisi de aynı kapıya çıkabilir gibi düşünebilirsiniz 🙂

Kodlarımızı neden debug etmeliyiz sorusunun temelde 3 nedeni mevcut.

İlk olarak; siz programınızı yazarken arada bir debug eder iseniz ve herhangi bir hata mevcut ise daha bu hata çok fazla ilerlemeden hemen görebilir ve ilgili düzeltme işlemini gerçekleştirebilirsiniz. Yani hatayı hemen görebilme ihtimaliniz artar. Özellikle kodlardaki yazım yanlışlığı hataları vb durumlar bu birinci sebep için oluşan başlıca hatalardır.

İkinci olarak; programınızın istediğiniz şekilde çalışmamasıdır. Ya da sizin istediğiniz şekilde kullanıcı tarafından alacağınız verilerin sağlanamama işlemlerinin olasılığıdır. Buna örnek verecek olursak, örneğin action scriptte bir oyun yapıyorsunuz ve bir araba sahnenin solundan sağına geçecek. Siz kodlarınızı yazdınız çalışıyor zannediyorsunuz, herhangi bir syntax hatası yok. Ama oysaki belki de bu arabanın soldan sağa geçmesini sağlayacak kod bloğunuz çalışmıyor. Bir problem mevcut, belki kodsal değil, belki grafiksel, belki ilgili kaynak bulunamaıyor vs vs. Ya da diyelim ki kullanıcıdan bir veri istediğiniz uygulamanız var. Siz kullanıcıdan bir sayı girmesini istiyorsunuz ama kullanıcı bir kelime, harf falan giriyor. Bu sefer uygulamanız istediğiniz veriyi alamıyor ve bu sefer yine bir hata veriyor. Ya da yine bir oyun yazdınız ve bir karakteriniz mevcut uçurum kenarına geliyor. Normalde daha ileri gitmemesi gerekiyor eğer giderse ölecek ama kodlarınızı yazdınız uçurum kenarına geldi karakter kullanıcı hala gidebiliyor, yani havada yürüyor 🙂 Olabilir mi böyle bi şey, eğer kodları incelemezsek yani gerektiğinde debug işlemi yapmaz isek bu gibi mantıksal hatalar ile de sıklıkla karşılaşabilir ve belki de bu hataları farkedemeyebiliriz, dolayısı ile hataları zamanında yakalayabilmek için debug çok önemli.

Üçüncü olarak ise programlarınızı debaug etmenin bir yararı aslında programınızı, uygulamanızı daha geliştirilebilir hala getirmektir. Yani siz ilgili kod aralığını debug ettiğinizde aslında ilgili alanın daha dinamik bir şekilde, daha hızlı bir şekilde nasıl çalışabileceğini de tekrar gözden geçirmiş olursunuz.

Öncelikle Flash ve action script ortamında test yöntemlerini gözden geçirelim. Öncelikle kodlarınızı kendiniz takip edebilirsiniz, yani satır satır kodlarınızı takip etmek gibi. Tabi bu işlem sadece basit kod blokları için uygulanabilirdir. Çok pratik bir yöntem değildir.

var Sayi:int = 10;
Sayi += 5;
Sayi *= 4;
Sayi++;

Burada satır satır kontrolümüzü yapınca biz biliyoruz ki Sayi değişkeninin içeriğinde en sonda 61 olacak.

Bir diğer yöntemde diyelim ki hesaplama çok uzun veya zor ama Sayi değişkeni içeriğini merak ediyoruz kendimiz hesaplamak istemiyoruz, bunu bilgisayara yaptırıp kendimiz sadece sonucu görmek istiyoruz. Bunun içinde trace komutunu kullanabiliriz, trace ile sonucu output panel de yazdırabiliriz.

var Sayi:int = 10;
Sayi += 5;
Sayi *= 4;
Sayi++;
trace("Sonuç: ", Sayi);

Trace komutunu action scriptte uygulama geliştirirken sıklıkla kullanabilirsiniz. Örneğin bir oyun yazdınız ve bu oyunun en başında kullanıcıdan oyunun seçenekleri bilgisi isteniyor ve siz bu seçilen değerleri bir değişkene aktardınız. Bu değişken ilgili seçenekleri saklamış mı, saklamamış mı trace ile kontrol edip, output panel üzerinden takip edebilirsiniz.

Şimdi de Debugger kullanımına geçelim. Flash ortamında action script kodları oluşturduğumuzda her ne zaman istersek debugger kullanabiliriz.

Debugger kullanmanın bir kaç yolu var. En kolay yollarından birisi break point kullanmaktır. Bunu yapabilmek için actions paneli açıkken yazmış olduğumuz kod satırında örneğin bir satırı seçelim. Üst menüden Debug Options kısmından Toggle Breakpoint seçiniz. Hemen seçili kod satır başına kırmızı bir nokta eklenir. Aşağıdaki resimde görebilirsiniz.

2014042117

Ek olarak seçili satır üzerinde CTRL ve B tuşlarına birlikte basarsanız yine Breakpoint ekleyebilirsiniz. Aynı zamanda Breakpoint eklenmiş bir satır üzerinde CTRL ve B tuşlarına birlikte basar ya da DEBUG aracından Toggle Break Point seçmeniz ya da DEBUG aracından Remove All Breakpoints seçmeniz halinde Breakpoint veya breakpointler kaldırılacaktır. Remove All adından da anlaşılacağı üzere sadece seçili olanı değil hepsini kaldırır. Buna dikkat edin.

Birde mouse ile BreakPoint eklemeyi anlatayım, mouse ile herhangi bir kod satırının başında yer alan satır numarasını gösteren hanenin önüne gelin ve tıklayın, göreceksiniz ki break point eklenecektir. Yine eklenen breakpointi de üstüne gelip tıklayarak kaldırabilirsiniz.

Şimdi Break Point eklemeyi kaldırmayı anlattık peki kodları nasıl debug edip kontrol edeceğiz ona değinelim. Öncelikle Debug Console Paneli açalım. Bunu yapabilmek için Flash’ta Üstteki panalde Window menüsünden Debug Panels altında Debug Console seçiyoruz. Ve debug console solda açılıyor.

2014042118

Bu panel üzerinde 5 tane buton mevcut.

2014042119

İlki Continue anlamındadır. Bu düğme ile kod bloğundaki bir breakpoint noktasından bir diğer noktaya kadar kodlar çalışır. İkincisi X şeklinde olan düğmedir debugging işlemini sonladırır ve daha debuging yapmadan kodlar çalışmaya devam eder. Diğer 3 düğme de kod boyunca kullanılan düğmelerdir. İlki seçili satırı çalıştırır ve buradan çalışmaya devam eder. Diyelim ki seçili satır bir fonksiyon çağırıyor dolayısı ile ilgili fonksiyona gidilir ve ilgili fonksiyon çalıştırılır. İkincisi ise bir fonskiyon içinde başka bir fonksiyon var ise onu çalıştırmaz. Üçüncüsü ise fonskiyon vs çalıştırmaz.

Kodlarımızı yazarken gerektiği durumlarda mutlaka test etmeli, debug işlemine tabi tutmalıyız. Yazımın başlarında anlattığım gibi bu çok ama çok önemlidir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir