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