êîìôîðòíîå ïðîãðàììèðîâàíèå èãð ÀËÅÊÑÀÍÄÐ ÃËÀÄÛØ Ñïåöâûïóñê: Õàêåð, íîìåð #064, ñòð. 064-036-3 ïîëåçíûå ñîâåòû Äëÿ âñåõ ñëó÷àåâ î÷åíü âàæíà ïîëíîöåííàÿ âàëèäàöèÿ ñêðèïòîâîãî êîäà è âûäà÷à ïîäðîáíûõ è èñ÷åðïûâàþùèõ ñîîáùåíèé îá îøèáêàõ. Íà ñòàäèè àêòèâíîé ðàçðàáîòêè, äàæå êîãäà îò êîäà òðåáóåòñÿ èãíîðèðîâàíèå îøèáêè è ïðîäîëæåíèå ðàáîòû, îáû÷íî ëó÷øå îáåñïå÷èâàòü âûâîä îòëàäî÷íîãî ñîîáùåíèÿ â ëîã. Íå çàáûâàé, ÷òî ãåéìäèçàéíåðû, ïèøóùèå ñêðèïòû, îáû÷íî íå èìåþò ðàçâèòûõ íàâûêîâ îòëàäêè. Åñëè ïîâåäåíèå èãðû ïðîñòî îòëè÷àåòñÿ îò òîãî, êîòîðîå îíè îæèäàþò, åñëè íå âûäàþòñÿ êàêèå-ëèáî ïðåäóïðåäèòåëüíûå ñîîáùåíèÿ (è äàæå åñëè «âèíîâàò» èõ ñîáñòâåííûé êîä), ÷àñòî ãåéìäèçàéíåðû, íå ðàçáèðàÿñü, îáâèíÿþò ïðîãðàììèñòà: «À òû ãëþ÷íûé äâèæîê íàïèñàë» :). Âûâîäû: ? ÐÀÇÐÀÁÎÒÊÀ ÈÃÐÛ ÍÅÝÔÔÅÊÒÈÂÍÀ, ÊÎÃÄÀ ÃÅÉÌÄÈÇÀÉÍÅÐÓ ÍÓÆÍÛ ÓÑËÓÃÈ ÏÐÎÃÐÀÌÌÈÑÒÀ, ×ÒÎÁÛ ÂÍÅÑÒÈ ÈÇÌÅÍÅÍÈß Â ÈÃÐÎÂÎÉ ÏÐÎÖÅÑÑ. ? ÃÅÉÌÄÈÇÀÉÍÅÐÓ ÍÅÎÁÕÎÄÈÌ ÈÍÑÒÐÓÌÅÍÒÀÐÈÉ ÄËß ÐÅÀËÈÇÀÖÈÈ ÂÛÑÎÊÎÓÐÎÂÍÅÂÎÉ ËÎÃÈÊÈ ÈÃÐÛ È ÁÀËÀÍÑÈÐÎÂÊÈ ÃÅÉÌÏËÅß. ? ÐÅØÈÒÜ ÏÐÎÁËÅÌÓ ÌÎÆÅÒ ÍÅÑËÎÆÍÛÉ ÑÊÐÈÏÒÎÂÛÉ ßÇÛÊ, ÏÎÄÊËÞ×ÅÍÍÛÉ Ê ÄÂÈÆÊÓ ÈÃÐÛ. ? ÊÀÊ ÏÐÀÂÈËÎ, ÂÛÃÎÄÍÅÅ ÈÑÏÎËÜÇÎÂÀÒÜ ÃÎÒÎÂÛÉ È ÎÒËÀÆÅÍÍÛÉ ÑÊÐÈÏÒÎÂÛÉ ßÇÛÊ, À ÍÅ ÏÈÑÀÒÜ ÑÎÁÑÒÂÅÍÍÛÉ Ñ ÍÓËß. ?  ÍÅÊÎÒÎÐÛÕ ÑËÓ×ÀßÕ ÓÄÎÁÍÅÅ ÏÐÎÃÐÀÌÌÈÐÎÂÀÒÜ ÑÏÅÖÈÔÈ×ÅÑÊÈÅ ×ÀÑÒÈ ÈÃÐÎÂÎÉ ËÎÃÈÊÈ Â ÃÐÀÔÈ×ÅÑÊÎÌ, À ÍÅ ÒÅÊÑÒÎÂÎÌ ÏÐÅÄÑÒÀÂËÅÍÈÈ.  ÒÀÊÈÕ ÑËÓ×ÀßÕ ÌÎÆÅÒ ÏÎÌÎ×Ü ÂÈÇÓÀËÜÍÛÉ ÐÅÄÀÊÒÎÐ, ÐÅÀËÈÇÎÂÀÍÍÛÉ ÊÀÊ ØÈÐÌÀ ÄËß ÃÅÍÅÐÀÒÎÐÀ ÊÎÄÀ ÍÀ ÂÛÁÐÀÍÍÎÌ ÑÊÐÈÏÒÎÂÎÌ ßÇÛÊÅ. ïîïóëÿðíûå îòêðûòûå ñêðèïòîâûå ñèñòåìû Ãîòîâûõ ñêðèïòîâûõ ñèñòåì ìíîæåñòâî, íî â èãðàõ ïðèæèëèñü åäèíèöû. Ïðè÷èíà?  îñíîâíîì èç-çà ñïåöèôè÷åñêèõ òðåáîâàíèé, ïðåäúÿâëÿåìûõ èãðàìè ê ñêðèïòàì. Ê ïðèìåðó, íåîáõîäèìîñòü â âûñîêîé ïðîèçâîäèòåëüíîñòè èíòåðïðåòàòîðà. Python (www.python.org) Open Source Àâòîð: Ãâèäî âàí Ðîññóì (Guido van Rossum); www.python.org/~guido Ãîä ñîçäàíèÿ: 1990 Òåêóùàÿ âåðñèÿ: 2.4.2, âûïóùåíà 28 ñåíòÿáðÿ 2005 ã. Äîñòîèíñòâà: ? ÁÎÃÀÒÅÉØÀß ÏÎ ÔÓÍÊÖÈÎÍÀËÜÍÎÑÒÈ ÁÈÁËÈÎÒÅÊÀ; ? ÁÎËÜØÎÉ ÎÁÚÅÌ ÄÎÑÒÓÏÍÎÉ ÄÎÊÓÌÅÍÒÀÖÈÈ È ÎÁØÈÐÍÎÅ ÊÎÌÌÜÞÍÈÒÈ; ? ÏÐÎÑÒÎÉ ÑÈÍÒÀÊÑÈÑ; ? ÓÄÎÁÑÒÂÎ ÄËß ÍÀÏÈÑÀÍÈß ÌÅËÊÈÕ ÓÒÈËÈÒ; ? ÏÎÄÄÅÐÆÊÀ ÞÍÈÊÎÄÀ. Íåäîñòàòêè: ? ÄÎÑÒÀÒÎ×ÍÎ ÒÐÅÁÎÂÀÒÅËÅÍ Ê ÎÁÚÅÌÓ ÏÀÌßÒÈ. ? ÏÐÎÈÇÂÎÄÈÒÅËÜÍÎÑÒÜ ÍÅÂÛÑÎÊÀß. ? ÎÐÈÅÍÒÈÐÎÂÀÍ, ÑÊÎÐÅÅ, ÍÅ ÍÀ ÐÀÑØÈÐÅÍÈÅ ÔÓÍÊÖÈÎÍÀËÜÍÎÑÒÈ ÏÐÎÃÐÀÌÌ, À ÍÀ ÐÀÑØÈÐÅÍÈÅ ÑÎÁÑÒÂÅÍÍÎÉ ÔÓÍÊÖÈÎÍÀËÜÍÎÑÒÈ ÇÀ Ñ×ÅÒ ÂÍÅØÍÈÕ ÌÎÄÓËÅÉ. ? ÎÔÈÖÈÀËÜÍÀß ÈÄÅÎËÎÃÈß ÄÈÊÒÓÅÒ ÅÄÈÍÑÒÂÅÍÍÛÉ ÌÅÒÎÄ ÐÅØÅÍÈß ÊÀÆÄÎÉ ÏÐÎÁËÅÌÛ. ? ÍÅÒ ÂÎÇÌÎÆÍÎÑÒÈ ÇÀÏÓÑÊÀÒÜ ÑÊÐÈÏÒÛ «Â ÏÅÑÎ×ÍÈÖÅ», ÁÅÇ ÄÎÑÒÓÏÀ Ê ÎÏÅÐÀÖÈÎÍÍÎÉ ÑÈÑÒÅÌÅ. ? ×ÓÂÑÒÂÈÒÅËÅÍ Ê ÊÎËÈ×ÅÑÒÂÓ ÏÐÎÁÅËΠ ÍÀ×ÀËÅ ÑÒÐÎÊÈ, ÊÎÒÎÐÎÅ ÎÏÐÅÄÅËßÅÒ ÓÐÎÂÅÍÜ ÂËÎÆÅÍÍÎÑÒÈ ÊÎÍÑÒÐÓÊÖÈÈ (ÂÌÅÑÒÎ, ÍÀÏÐÈÌÅÐ, ÔÈÃÓÐÍÛÕ ÑÊÎÁÎÊ Â C/C++). ÂÏÐÎ×ÅÌ, Ê ÝÒÎÌÓ ÌÎÆÍÎ ÏÐÈÂÛÊÍÓÒÜ. ?  ÁÓÄÓÙÅÉ ÂÅÐÑÈÈ, PYTHON 3000, ÏËÀÍÈÐÓÅÒÑß ÑÅÐÜÅÇÍÎ ÍÀÐÓØÈÒÜ ÎÁÐÀÒÍÓÞ ÑÎÂÌÅÑÒÈÌÎÑÒÜ ÑÎ ÑÒÀÐÛÌ ÊÎÄÎÌ ÍÀ PYTHON 2.X. Ruby (www.ruby-lang.org) Open Source Àâòîð: Þêèõèðî Ìàöóìîòî (Yukihiro Matsumoto); en.wikipedia.org/wiki/Yukihiro_Matsumoto |