les4

16
Inleiding tot Programmeren Practicum 4 Ruben Van den Bossche [email protected] Monday 5 March 12

Upload: rvdbossc

Post on 26-Jun-2015

195 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Les4

Inleiding tot ProgrammerenPracticum 4Ruben Van den [email protected]

Monday 5 March 12

Page 2: Les4

Code Conventions• Richtlijnen voor een specifieke programmeertaal

die een bepaalde programmeerstijl aanbevelen.• Kan betrekking hebben op:

- Indentatie- Commentaar- Witruimte- Naamgeving- Programmeerpraktijken- Vuistregels- ...

2Monday 5 March 12

Page 3: Les4

Code Conventions• Voordelen

- Code is beter leesbaar- Code en gedachtengang zijn beter te begrijpen voor

collega’s (en lesgevers)- Onderhoud aan code is gemakkelijker- Projecten met meerdere programmeurs hebben

uniforme stijl

• Nadelen- Vraagt een beetje discipline van de programmeur- Niet afgedwongen door de compiler

3Monday 5 March 12

Page 4: Les4

C++ Bronfiles• Elk .cpp bronbestand bevat (in volgorde):

- Een algemeen commentaarblok met korte beschrijving, datum en naam

- Een include-blok- Globale using-statements- Body-gedeelte met functies e.a.

4

/** * Main function for my calculator program * @author Ruben Van den Bossche * @date 5/03/2012 */

Monday 5 March 12

Page 5: Les4

C++ Bronfiles• Elk .h header-bestand bevat (in volgorde):

- Multiple definition guard

- Een algemeen commentaarblok met korte beschrijving, datum en naam

- Een include-blok- Globale using-statements- Body-gedeelte met o.a. functie- en klassedeclaraties

5

#ifndef INC_MYCALC_H#define INC_MYCALC_H

// Content of header file

#endif /* INC_MYCALC_H */

Monday 5 March 12

Page 6: Les4

C++ Bronfiles• Bij elkaar horende broncode en header files

hebben steeds dezelfde naam.• Header files met een klassedefinitie hebben

steeds dezelfde naam als de klasse.

6Monday 5 March 12

Page 7: Les4

Indentatie• Alle onderdelen van slides 4-5 komen tegen de

kant• Indenteer elk blok met 1 tab

7

int somefunction(int someargument) { ... while(i < 5) { ... } ...}

Monday 5 March 12

Page 8: Les4

Indentatie: accolades• Openingsaccolade staat op dezelfde lijn als de

vorige instructie• Sluitingsaccolade staat op een nieuwe regel

8

int somefunction(int someargument) { ... while(i < 5) { ... } ...}

Monday 5 March 12

Page 9: Les4

Indentatie: regels afbreken• Vermijd lange regels (nooit horizontaal scrollen!)• Breek regels af

- na een komma- voor een operator- higher-level boven lower-level

• Indenteer afgebroken stuk één tabpositie extra

9

if ((variabele1 < variabele2) && ((variabele3 < variabele4) || (variabele3 >= variabele5))) { // do something}

Monday 5 March 12

Page 10: Les4

Commentaar• In je code waar nodig

• Functies, klassen en methoden

10

// print all odd int's smaller than 10for(int i = 1; i < 10; i += 2) { cout << i << endl;}

/* * This function multiplies its argument * @param someargument The value to double * @return The doubled value */int someFunction(int someArgument) { return someArgument * 2;}

Monday 5 March 12

Page 11: Les4

11Monday 5 March 12

Page 12: Les4

Naamgeving• Gebruik weinig afkortingen en kies namen van

functies, variabelen, klassen zo logisch mogelijk.• Types en klassen beginnen met een hoofdletter.• Functies, methodes, variabelen beginnen met

een kleine letter.

• In geval van meerdere woorden worden deze onderscheiden door een hoofdletter

12

int someVariable = 5;class SomeClass;

Monday 5 March 12

Page 13: Les4

13Monday 5 March 12

Page 14: Les4

Witregels en instructies• Plaats een witregel tussen elk van de onderdelen

op slide 4-5• Plaats een witregel tussen elke functie en klasse

• Plaats nooit meer dan 1 statement op een regel- Niet:

- Wel:

14

i++; j++;

i++;j++;

Monday 5 March 12

Page 15: Les4

Spaties• Plaats een spatie:

- rond elke operator- na elke komma

• Niet:

• Wel:

15

bool b=(((a/d)+c)||(e==4));int arr[]={1,2,3,4,5};

bool b = (((a / d) + c) || (e == 4));int arr[] = {1, 2, 3, 4, 5};

Monday 5 March 12

Page 16: Les4

En nog dit...

• Wij vinden code conventions heel belangrijk• Fouten tegen deze regels worden zwaar bestraft

16Monday 5 March 12