Bugs a ladenie
Jedna vec, že budete všímať, ako ste sa dozvedeli o programovaní, je, že majú sklon k značný počet chýb a predpoklady, ktoré spôsobujú váš program buď: 1) nie je kompilácie, alebo 2) produkujú výstup, ktorý nemáte očakávali, keď to urobí. Tieto problémy sú označované ako chyby, a akt ich odstránenie sa nazýva ladenie. Približne polovica doby akéhokoľvek programátor trávia ladenie.
Budete mať veľa času a príležitostí na vytvorenie vlastnej chyby, ale aby sa bližšie zoznámiť s možnosťami poďme vytvoriť niekoľko. Vo vašom programe, skúste vymazať jeden z bodkočiarky na konci riadku a kompilácie program s javac. Kompilátor vám dá chybovú správu. To sa nazýva chyba kompilátora, a musíte odstrániť všetky z nich, ako budete môcť spustiť svoj program. Skúste chybne napísané názov funkcie, takže z nej " {" alebo elimináciu jedného z dovozných liniek zvyknúť na rôzne chyby kompilátora. Pri prvom vidieť určitý typ chyby kompilátora to môže byť frustrujúce, ale tým, že experimentuje takto - so známymi chybami, ktoré vytvoríte na účelu. - Môžete zoznámiť s mnohými bežných chýb
chyba, známy tiež ako prevedenie (alebo run-time) chyba, dochádza, keď program skompiluje jemné a beží, ale nevytvára výstup, ktorý plánuje na ňom výrobu. Napríklad tento kód vytvára červený obdĺžnik s dvoma diagonálne čiary cez neho:
g.setColor (Color.red); g.fillRect (0, 0, 200, 200); g.setColor (Color.black); g.drawLine (0, 0, 200, 200); g.drawLine (200, 0, 0, 200);Nasledujúce kód, na druhej strane, vytvára len červený obdĺžnik (ktoré sa týka viac ako dva riadky):
g.setColor (Color bombu..Černé); g.drawLine (0, 0, 200, 200); g.drawLine (200, 0, 0, 200); g.setColor (Color.red); g.fillRect (0, 0, 200, 200);Tento kód je takmer presne rovnaké, ale vyzerá úplne inak, keď to urobí. Ak ste čakala, že uvidí dve priečne čiary, potom kód v druhom prípade obsahuje chybu
Tu je ďalší príklad :.
g.drawLine (0, 0, 200, 200); g.drawRect (0, 0, 200, 200); g.drawLine (200, 0, 0, 200);Tento kód vytvára čierna načrtol poľa a dve diagonály. Táto ďalší kus kódu produkuje iba jeden diagonálny:
g.drawLine (0, 0, 200, 200); g.drawRect (0, 0, 200, 200); g.drawLine (0, 200, 0, 200);Opäť platí, že ak sa očakáva, že vidieť dve diagonály, potom druhá časť kódu obs