70 likes | 204 Views
Gyakori hibák C# programozásban. Készítette: Major Péter. Elírjuk a változók nevét. Ez a hiba nyilván mindenkivel előfordul. Mire figyeljünk? Kis és nagybetű számít
E N D
Gyakori hibák C# programozásban Készítette: Major Péter
Elírjuk a változók nevét • Ez a hiba nyilván mindenkivel előfordul. • Mire figyeljünk? • Kis és nagybetű számít • Sokan használják ugyanazt a nevet eltérő betűmérettel, pl.: ha egy függvény beállítja egy osztály „PontokSzama” mezőjét, a paraméter lehet „pontokSzama” nevű. • Ne cseréljünk fel betűket.
Tünetek • Piros aláhúzás • Ha a View / Error List menüponttal megjelenítjük az Error List ablakot: • A kódkiegészítés nem ajánlja fel a változó nevét, és az utána leütött pontra sem jelenik meg metódus lista.
Elkerülés • Használjuk a kódkiegészítőt: • Már a „ps” begépelésekor felajánlja a PStart-ot, amit Enter-el elfogadunk. • Ha nincs a listán a változó, amit keresünk, akkor már valószínűleg hibát követtünk el. • Ha a lista nem jelenik meg gépeléskor, az szintén hibára utal. • Ha a listát meg akarjuk jeleníteni akkor nyomjuk meg a Ctrl-Space billentyűkombinációt.
Lassú kódbevitel • Ha mindent betűt begépelünk az egyrészt nagyon időigényes, másrészt vonzza a hibákat is. • A parancsok gyors bevitele a kódkiegészítővel nagyon hasznos, és lehetőséget ad hibák elkerülésére is. • Használat: • pl. be akarjuk írni, hogy GameLogic.GenerateMap(10); • ezt úgy tesszük meg, hogy beírjuk, hogy „ga” erre a listán megjelenik a GameLogic, erre enter, majd beírjuk a pontot és a „g” lenyomására a listán már kapjuk is a kívánt metódust, tehát megint Enter. • Így egyrészt 2-3x olyan gyorsan lehet írni, másrészt garantált, hogy nem írjuk el valaminek a nevét. • Ha a listán már ott ami nekünk kell, a le és fel nyíllal kiválasztva és Enter-t nyomva beszúrhatjuk.
Le nem zárt blokkok • A C alapú nyelvek blokkos felépítésűek, a blokkokat a { és } jelek határolják. • A blokkok egymásba ágyazása alapvető lehetőség, azonban sosem lehet átlapolódás. • Fontos még, hogy figyeljünk arra, hogy egy függvénybe nem definiálhatunk másik függvényt (amely nyilván értelmetlen, de sokan megpróbálták ;). • Utasítások csak függvényben lehetnek, változókat pedig mind a függvényekben, mind a típusok definiálásánál (pl.: class, struct) használhatunk. Névterekben közvetlenül csak típusdefinícók lehetnek, a változók, függvények mindig osztályokban vannak. • A rendszer piros aláhúzással figyelmeztet, ha elszúrjuk a blokkok zárójelezését, de ez szinte mindig később jelentkezik, mint ahol hibáztunk, ezért nézzük végig az összes környező blokkot.
Egyéb gyakori hibák • A tömbnél kapcsos zárójel kell: • szamok[5] és nem szamok(5) • A for ciklus fejlécében pontosvesszők vannak: • for(int i=0; i<10; i++) • A do{ … }while(…) után kell pontosvessző: • do{ i++; }while(i<10); • A sima while-nál viszont nem kell.