Kodstandard
För att era inlämningsuppgifter ska rättas krävs att ni följer denna kodstandard. Den är utformad för att ge lättläst kod och för att minimera risken för onödiga buggar i koden.
I stort kan man säga att kodstandarden ges av den exempelkod ni fått ut. Alla konstruktioner som ni behöver för att lösa uppgifterna finns där. Funktioner, if- och switch-satser, loopar, kommentarer, variabler och konstanter. Skriv er kod så att den ser ut som den givna koden.
För säkerhets skull ges några punkter nedan som ni förväntas följa.
- variabler och funktionsnamn skrivs med små bokstäver rakt igenom. Jag kan även tänka mig att acceptera små bokstäver med stor bokstav i början av ett nytt ord. Båda konventionerna är vanliga i verkligheten. Tillåtna varianter är alltså: dettaärenvariabel och dettaÄrEnVariabel.
- KONSTANTER skrivs med STORA bokstäver. Det är tillåtet att använda understreck _ för att separera ord.
- Indentera koden med tre eller fyra blanksteg. (Var konsekvent!)
- Inga kodrader får vara längre än 80 tecken!
- Städa bort testkod och gammal kod innan ni lämnar in. Det får inte förekomma stora stycken bortkommenterad kod eller kod som skriver ut debug-information i inlämningen.
- Följande placering av "måsvingar" är tillåten (ingen annan):
- if ( ... ) {
- ...;
- }
- eller
- if ( ... )
- {
- ...;
- }
- Måsvingar som inleder en funktion skall alltid vara på en egen rad!
- Sätt mellanslag runt operatorer och efter komma.
- Rätt: a = b + c;
- Fel: a=b+c;
- Rätt: foo(bar, 42);
- Fel: foo(bar,42);
- Avsluta loopar med hjälp av loop-vilkoret! Det finns alltid ett snyggt sätt att avsluta en loop som gör att man med en gång kan se vad koden gör. Oändliga loopar som avbryts på olika sätt inne i loop-kroppen ger svårläst kod och ökar risken för buggar och är därför inte tillåtna under denna kurs!
- Rätt: while (x != 5) { ... }
- Fel: while ( 1 ) { if (x == 5) break; }
Denna kodstandard må vara skriven i sten, men det betyder inte att jag inte kan tänka mig att ändra på den om någon har en tillräckligt bra motivering.