08.01.2015 Views

PDF - Xakep Online

PDF - Xakep Online

PDF - Xakep Online

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

20 ñîâåòîâ<br />

Êîäèíã<br />

Èâàí Ñêëÿðîâ (sklyarovivan@mail.ru)<br />

êðàéíåé ìåðå, îí ìíå íåèçâåñòåí); êàæäûé äåëàåò ýòî êàê åìó â ãîëîâó<br />

âçáðåäåò, ïîýòîìó ñîâåòóþ âûáðàòü ïðåôèêñû ñàìîñòîÿòåëüíî, à â íà÷àëå<br />

ïðîãè îòìåòèòü ýòî â êîììåíòàðèÿõ.<br />

Åùå ðàç çàìå÷ó, ÷òî èìåíîâàíèå êîìïîíåíòîâ èìååò ñìûñë â áîëüøèõ è<br />

ñëîæíûõ ïðîãðàììàõ, ñ êó÷åé ôîðì è ýëåìåíòîâ óïðàâëåíèÿ íà íèõ, à â<br />

ïðîñòûõ ïðîãðàììàõ ñ îäíîé ôîðìîé èìåíà êîìïîíåíòîâ ëó÷øå îñòàâëÿòü ïî<br />

óìîë÷àíèþ.<br />

Ñîâåò #6<br />

ðè îáúÿâëåíèè èëè ïðèñâîåíèè íà÷àëüíûõ çíà÷åíèé áîëüøîìó<br />

êîëè÷åñòâó ïåðåìåííûõ çàïèñûâàé èõ â àëôàâèòíîì ïîðÿäêå,<br />

íàïðèìåð:<br />

Dim BlueBoy As Integer<br />

Dim CowBoy As Double<br />

Dim DeadBoy As Currency<br />

Ï<br />

BlueBoy = 0<br />

CowBoy = 1<br />

DeadBoy = -1<br />

Ñîâåò #7<br />

å ñêóïèñü íà ïðîáåëû! Òû äîëæåí ïîíèìàòü, ÷òî ÷åì áîëüøå<br />

ñâîáîäíîãî ïðîñòðàíñòâà íà ýêðàíå, òåì ëåã÷å ÷åëîâå÷åñêîìó ãëàçó<br />

ðàçëè÷àòü òåêñò. Ñîîòâåòñòâåííî, ÷òîáû áûëî ëåã÷å ÷èòàòü êîä,<br />

âñòàâëÿé ïóñòûå ñòðîêè äî è ïîñëå êàæäîãî áîëåå-ìåíåå çíà÷àùåãî áëîêà<br />

êîäà. Ò.å. âûäåëÿé ïóñòûìè ñòðîêàìè ïðîöåäóðû, ôóíêöèè, ñòðóêòóðû<br />

(èíñòðóêöèè) è ò.ä. è ò.ï. Ñòàâü ïðîáåë ïîñëå êàæäîé çàïÿòîé è âûäåëÿé<br />

ïðîáåëàìè áèíàðíûå îïåðàöèè, òàêèå, êàê: +, -, * è ò. ï., åñëè, êîíå÷íî, òâîé<br />

ðåäàêòîð êîäà íå äåëàåò ýòî àâòîìàòè÷åñêè (ìîæåò áûòü, òû ïèøåøü ñâîé êîä<br />

â «Áëîêíîòå»).<br />

Í<br />

Ñîâåò #8<br />

È<br />

begin<br />

begin<br />

end;<br />

...<br />

end;<br />

ñïîëüçóé «ëåñåíêó», ò.å. çàïèñûâàé ñ îòñòóïîì îïåðàòîðû òåëà áëîêîâ<br />

êîäà. Íàïðèìåð:<br />

begin<br />

...<br />

end;<br />

...<br />

...<br />

...<br />

Íî áîëüøàÿ ãëóáèíà âëîæåííîñòè ìîæåò ñäåëàòü ïðîãðàììó òðóäíîé äëÿ<br />

ïîíèìàíèÿ, ïîýòîìó ñòàðàéñÿ èçáåãàòü áîëåå òðåõ óðîâíåé îòñòóïîâ. Òàêæå<br />

íàñòîÿòåëüíî ñîâåòóþ äåëàòü îòñòóïû êëàâèøåé TAB, à íå êëàâèøåé ÏÐÎÁÅË.<br />

Ñîâåò #9<br />

÷èñü ãðàìîòíî èñïîëüçîâàòü êîììåíòàðèè â ñâîåì êîäå. Ê ñîæàëåíèþ,<br />

÷àñòî áûâàåò, ÷òî êîäåðû ëèáî ñîâñåì íå èñïîëüçóþò êîììåíòàðèè,<br />

ëèáî çàêîììåíòèðóþò òàê ñâîþ ïðîãó, ÷òî òðóäíî ñòàíîâèòñÿ<br />

îáíàðóæèòü êîä :(. Íóæíî ó÷èòüñÿ íàõîäèòü çîëîòóþ ñåðåäèíó! Íåîáõîäèìî<br />

êîììåíòèðîâàòü òîëüêî òå ó÷àñòêè òåêñòà, êîòîðûå ðåàëüíî ìîãóò âûçâàòü<br />

òðóäíîñòè â ïîíèìàíèè. ×àùå âñåãî êîììåíòàðèè íåîáõîäèìî âñòàâëÿòü<br />

ïåðåä ôóíêöèÿìè è ïðîöåäóðàìè. Òàêæå õîðîøèì òîíîì ñ÷èòàåòñÿ âêëþ÷àòü<br />

êîììåíòàðèé â íà÷àëî êîäà, îïèñûâàþùåãî öåëü ïðîãðàììû.<br />

Ó<br />

while not EOF (Text) do<br />

begin<br />

...<br />

if NumOne = NumTwo then<br />

begin<br />

...<br />

if (NumThree < 0) and (NumFour > 1) and (NumFive 0) then<br />

begin<br />

...<br />

end; // if (NumThree < 0)...<br />

...<br />

end; // if NumOne = NumTwo<br />

...<br />

end; // while not EOF (Text)<br />

Êàê òû ìîæåøü çàìåòèòü, òàêèå êîììåíòàðèè ñîçäàþòñÿ ëåãêî (è áûñòðî)<br />

ïðîñòûì êîïèðîâàíèåì çàãîëîâêà ñòðóêòóðû.<br />

Ñîâåò #11<br />

Ñ<br />

òàðàéñÿ ïèñàòü êîììåíòàðèè íà îäíîì óðîâíå, êàê ýòî ñäåëàíî â<br />

ïðåäûäóùåì ïðèìåðå.<br />

Ñîâåò #12<br />

Í<br />

å ëåïè íåñêîëüêî êîìàíä â îäíîé ñòðîêå, äàæå åñëè ÿçûê ýòî<br />

ïîçâîëÿåò, íàïðèìåð:<br />

For i=1 To 10: Print i: Next i<br />

Âîçìîæíîñòü áðåéêïîèíòà äîëæíà áûòü ó êàæäîé êîìàíäû, ê òîìó æå ýòî<br />

óõóäøàåò ÷èòàåìîñòü êîäà.<br />

Ñîâåò #13<br />

èøè ñòðîêè òàê, ÷òîáû îíè âëåçàëè ïî øèðèíå ýêðàíà.<br />

Ãîðèçîíòàëüíîãî ñêðîëëèíãà áûòü íå äîëæíî! Åñëè ñòðîêà íå âëåçàåò,<br />

äåëàé ïåðåíîñû (åñëè, êîíå÷íî, ÿçûê ïðîãðàììèðîâàíèÿ ýòî<br />

ïîçâîëÿåò), íàïðèìåð:<br />

Ï<br />

lbMyMessage.Caption: = ‘Áðîøó’ + #13 + ‘ïèòü’ + #13<br />

+ ‘êóðèòü’ + #13 + edYourWord.Text + #13 + ‘áóäó’<br />

+ #13 + ‘ñïîðòîì’ + #13 + ‘çàíèìàòüñÿ...’;<br />

Ñîâåò #14<br />

ñëè òâîÿ ïðîãà âûïîëíÿåò áîëüøèå àðèôìåòè÷åñêèå îïåðàöèè,<br />

èñïîëüçóé òàê íàçûâàåìûå èçáûòî÷íûå ñêîáêè. Îíè íå ïîâëèÿþò íà<br />

ñêîðîñòü è ðàçìåð ïðèëîæåíèÿ, íî ñäåëàþò ïîíÿòíûì êîä.<br />

Íàïðèìåð, ñëåäóþùèå äâà âûðàæåíèÿ âûäàþò îäèíàêîâûé ðåçóëüòàò,<br />

òîëüêî â êàêîì ëåã÷å ðàçîáðàòüñÿ ;)<br />

Å<br />

Result = a * b % c / d + e;<br />

Result = ((a * b) % c) / d) + e;<br />

Ñîâåò #15<br />

ñëè ÿçûê ïðîãðàììèðîâàíèÿ ïîääåðæèâàåò âñòðîåííûå êîíñòàíòû -<br />

èñïîëüçóé èõ. Íàïðèìåð, âìåñòî êîìáèíàöèè Chr(13) + Chr(10) ëó÷øå<br />

èñïîëüçîâàòü âñòðîåííóþ êîíñòàíòó vbNewLine. Òàêèå êîíñòàíòû<br />

äåëàþò êîä ñàìîäîêóìåíòèðóåìûì.<br />

Å<br />

Ñîâåò #16<br />

ùå îäèí õîðîøèé ñîâåò äëÿ òåõ, êòî ïèøåò â «Áëîêíîòå»: çàïèñûâàé<br />

ñíà÷àëà êëþ÷åâîå è çàêëþ÷èòåëüíîå ñëîâà, íàïðèìåð, begin è end (èëè<br />

îòêðûâàþùóþñÿ è çàêðûâàþùóþñÿ ñêîáêè ñîñòàâíîãî îïåðàòîðà), à<br />

óæå ïîòîì ìåæäó íèìè ïèøè êîä. Ýòî ïîìîæåò èçáåæàòü îøèáîê, ê òîìó æå<br />

ïðîñòî óäîáíî (âèçóàëüíûå ñðåäû ýòî äåëàþò àâòîìàòè÷åñêè).<br />

Å<br />

Ñîâåò #10<br />

äîïîëíåíèå ê ïðåäûäóùåìó ñîâåòó: ïðè ñîçäàíèè ñòðóêòóð òèïà<br />

óñëîâèé, öèêëîâ è ò.ï. ñîâåòóþ ñðàçó îáîçíà÷èòü êîììåíòàðèåì<br />

çàìûêàþùåå ñëîâî (end), ÷òîáû ïîòîì íå ìó÷àòüñÿ âîïðîñîì òèïà:<br />

«×åé ýòî end». Íàïðèìåð:<br />

Â<br />

Ñîâåò #17<br />

Õ<br />

îðîøàÿ ïðîãà äîëæíà áîðîòüñÿ ñ âîçíèêàþùèìè îøèáêàìè, óìåòü<br />

âîññòàíàâëèâàòü ñâîþ íîðìàëüíóþ ðàáîòó. Äëÿ ýòîãî äîëæåí áûòü<br />

îáÿçàòåëüíî âêëþ÷åí êîä îáðàáîòêè èñêëþ÷èòåëüíûõ ñèòóàöèé. Íî â<br />

68

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!