Gorag programmirleme (defensive programming) – bu program­ma 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;
– bada­bat gözläp tapmaklyk. Her bir ýalňyş mümkin boldu­gyç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 bil­ner. 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 ýaz­gy ýüze çykar:

MahabatTürkmenstandartlary Baş Döwlet Gullugy

Assertion failed: aňlatma, file faýlyň_ady, line nnn

Ondan soň hasaplamalary tamamlaýan kitaphana funksiýasy ça­gyrylar.

Indi gorag programmirleme boýunça birnäçe maslahatlary be­reliň:

– üýtgeýan ululyklaryň bahalar ýaýlasynyň barlagyny geçir meli;
– üýtgeýan ululyklaryň bahalarynyň hakykata ýakynlygynyň barlagyny geçirmeli. Bu bahalar käbir konstantalardan ýa­da beýleki üýtgeýän ululyklaryň bahalaryndan uly bolmaly däl­dirler;
– hasaplaşyklaryň netijelerine gözegçilik etmeli;
– awtomatiki barlaglary işletmeli (mysal üçin, çenden aşalyga ýa­da 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