Makale Özeti

Kodunuzu yazıp derlediğiniz zaman derleyiciniz sadece kodunuzda hata olup olmamasına mı bakıyor? Dynamics AX derleyicisi, kodunuzu derlediği gibi, belirli kurallara göre kaliteli kod yazıp yazmadığınızı denetleyen En İyileme İşlemleri (Best Practises Tool) aracına sahiptir. Örneğin sınıf isimlerinini ilk harifini büyük yazmanızı, metod isimlerinin küçük harfle başlamasını tavsiye eder.

Makale

Kodunuzu yazıp derlediğiniz zaman derleyiciniz sadece kodunuzda hata olup olmamasına mı bakıyor? Dynamics AX derleyicisi, kodunuzu derlediği gibi, belirli kurallara göre kaliteli kod yazıp yazmadığınızı denetleyen En İyileme İşlemleri (Best Practises Tool) aracına sahiptir. Örneğin sınıf isimlerinini ilk harifini büyük yazmanızı, metod isimlerinin küçük harfle başlamasını tavsiye eder. Formlardaki etiketlerin özgün olmasını, indeks kullanıp kullanmadığımızı kontrol eder. Bu ve bunun gibi hata sayılmayan ama daha performanslı ve kurallara uygun kod yazmamızı sağlayan En İyileme İşlemleri aracınına biz de yeni kontroller ekleyebiliriz. Kodunuzun standartlarını belirleyebildiginiz ve surekli kontrol ettiginiz bu mukemmel araci nasil ozellestirebilecegimize bakalim.

Axapta En İyileme İşlemleri Aracı, kendi kurallarınızı yazmanıza izin verir. Bu sınıflar AOT (Uygulama Nesne Ağacı) altında SysBPCheck<Element> ismiyle yer alır. AOT elemanlarından herhangi birini derlediğinizde, her SysBPCheck sınıfı için init, check ve dispose metodları çalışır.

Bu sınıflardan en ilginçlerinden birisi SysBPCheckMemberFunction'dır. Bu sınıf herhangi X++ kodu içeren sınıf metodu, form metodu, macro ya da herhangi bir metod derlendiğinde çağrılır. Yani nereye kod yazarsanız yazın, kodunuzu derlerken bu kontrol sınıfı çalışacaktır. Örneğin yazılım geliştiriclerin kod yazarken, kodun içinde kendi isimlerini kullanmalarını istemiyorsak SysBPCheckMemberFunction sınıfını kullanabiliriz.

protected void checkIsimKullanilmisMi()
{
     #Define.MyErrorCode(20000);
     container isimListesi = ["Anil","Aytac",Yeliz","Kenan","Ibrahim"];
     int i, j , konum;
     str satir;
     int satirUzunluk;
     ;
     // Son satirdan baslayarak satirlari dolas
     for(i=scanner.lines(); i; i--)
     {
            satir = scanner.sourceLine(i);
            satirUzunluk = strlen(satir);
            for(j = conlen(isimListesi); j; j--)
            {
                   // Her satir icin isimleri tek tek dolas ve satırda ara
                   konum = strscan(satir, conpeek(isimListesi,j),1, satirListesi);
                   if(konum)
                   {
                          // Eğer isim bulundu ise hata bildir
                          SysBPCheck.addError(#MyErrorCode, i , konum, "Kodun içinde ismini kullanamazsın!");
                   }
            }
     }
}

Eğer profesyonel çalışmanın bir kuralı olan standartlarınızı belirlediyseniz sizler de SysBPCheck<..> sınıfları altına yeni kurallar yazabilir; bu kuralların her zaman ve her yerde uygulanmasını sağlayabilirsiniz.

Bu makaledeki örmek ve anlatım, Inside Dynamics AX kitabından alınmıştır.

Hatasız ve problemsiz gunler gunler gecirmeniz dileğiyle,

Anıl Özay
Bilgisayar Mühendisi
MVP Dynamics AX
anil.ozay@bilisimanadolu.com