Gorag programmirleme (defensive programming) – bu programma düzülende emele gelýän ýalňyşlyklar programma düzüji bilen aňsatlyk bilen tapylyp identifisirlenýän görnüşidir.
Gorag programmirlemegiň üç sany esasy düzgüni bar:
– umumy ynamsyzlyk. Her bir modul üçin giriş maglumatlaryny ýalňyş bolup bilerler diýen pikir bilen jikmejik seljerilmeli;
– badabat gözläp tapmaklyk. Her bir ýalňyş mümkin boldugyça ýüze çykarylmaly, bu onuň sebäbini anyklamaklygy aňsatlaşdyrýar;
– ýalňyşlary izolirlemek. Bir moduldaky ýalňyşlyklar olaryň beýleki modullara täsiri bolmaz ýaly izolirlenen bolmaly.
Umumy ynanmazlyk düzgüni dürli usullar bilen goldanyp bilner. C diliniň kitaphanasynda assert (aňlatma) makrokesgitleme bar we ol programma diagnostiki maglumatlary girizmek üçin ulanylýar. Eger aňlatmanyň bahasy nula deň bolsa, onda indiki görnüşdäki ýazgy ýüze çykar:
Assertion failed: aňlatma, file faýlyň_ady, line nnn
Ondan soň hasaplamalary tamamlaýan kitaphana funksiýasy çagyrylar.
Indi gorag programmirleme boýunça birnäçe maslahatlary bereliň:
– üýtgeýan ululyklaryň bahalar ýaýlasynyň barlagyny geçir meli;
– üýtgeýan ululyklaryň bahalarynyň hakykata ýakynlygynyň barlagyny geçirmeli. Bu bahalar käbir konstantalardan ýada beýleki üýtgeýän ululyklaryň bahalaryndan uly bolmaly däldirler;
– hasaplaşyklaryň netijelerine gözegçilik etmeli;
– awtomatiki barlaglary işletmeli (mysal üçin, çenden aşalyga ýada takyklygy ýitirmeklige gözegçilik etmek);
– maglumatlaryň elementleriniň uzynlyklaryny barlamaly;– funksiýalaryň gaýtaryş kodlaryny barlamaly
Röwşen ÇARYÝEW,
Ýagşygeldi Kakaýew adyndaky Halkara nebit we gaz uniwersitetiniň talyby