Bra C++-program grundas inte bara på avancerad programmeringsteknik utan på en god programmeringsstil som följer etablerad kodstandard. Detta är en förutsättning för att effektivt kunna avlusa, återanvända, underhålla och utveckla program som du själv eller andra skrivit. Ett viktigt mål i kursen är därför att lära sig skriva kod som stödjer en god programkvalitet.
Följande punkter utgör allmänna krav som dina programlösningar ska uppfylla. Kodstandarden ingår i kvalitetsbedömningen och för att uppnå något av kursens högre betyg (A-C) förutsätts att nedanstående är väl uppfyllt.
Vanliga konventioner för att skriva C++-program i god stil | |
---|---|
1 | Skriv alltid ett kommentarshuvud till programmet med filnamn, datum, programmerare och kort beskrivning av programmets uppgift. |
2 | Skriv alltid ett sammanfattande kommentarshuvud till varje egendefinierad funktion. |
3 | Kommentera alltid löpande kod där kodens uppgift inte naturligt framgår av syntax. |
4 | Lägg aldrig mer än EN sats per rad! |
5 | Lägg blankrad (men aldrig mer än EN) ovan nyckelord (while, if, for… etc) samt mellan funktioner och mellan samhörande logiska avsnitt, så blir koden mer lättläst. För övrigt inga onödiga tomrader i koden! |
6 | Indentera korrekt enligt editorns förinställda standard. I Visual Studio kan default-formatet ändras under menyvalet Tools->Options->Text Editor. Använd gärna det “automatiska” formateringsverktyg som finns under menyvalet Edit->Advanced->Format Document alt. Format Selection. |
7 | Klammerparenteser runt kodblock { … } placeras konsekvent, antingen i rak linje direkt under inledande nyckelord: if (x > 0) { // sats(er); } … eller så här: if (x > 0) { // sats(er); } |
8 | Kod inuti block, dvs. mellan { … och … } indenteras med tabbar. Undantagsvis kan 2 el. 3 blanksteg användas, men blanda aldrig tabbar och blanksteg. |
9 | Variabler och andra identifierare, såsom funktionsnamn, skrivs med gemener (liten bokstav i början!) och ska ha meningsfulla, förklarande namn. Ex: summa |
10 | Sammansatta namn skrivs med skiljande versal (“kamelnotation”) eller _. Använd konsekvent den ena eller den andra typen. Ex: circleArea eller circle_area |
11 | Konstanter skrivs med VERSALER. |
12 | #define’s (makron) skrivs med enbart VERSALER. |
13 | Parenteser till funktioner skrivs utan mellanslag emellan identifierare och parentes. Ex: sqrt(x) |
14 | Parenteser till for, while, if, switch … etc. skrivs med mellanslag. Ex: if (x > 0) |
15 | Använd mellanslag mellan operatorer och operander i ett uttryck, för att öka läsbarheten. Ex: for (int i = 1; i < 111; i++) … istället för: for (int i=1;i<111;i++) |
Viktigast av allt: Var ALLTID konsekvent med ditt val av notation eller standard!