Skip to content

Coding Style

Evert Heylen edited this page Mar 2, 2017 · 3 revisions

Algemeen

Hou het simpel, kort en krachtig. Hou geen rekening met platformen die we niet moeten ondersteunen (zoals #pragma once).

Indentatie

  • Tab karakters waar mogelijk (afwijkend).
  • Access modifiers en namespaces niet indenteren.

Spatie en newlines

  • * en & bij type zetten (int*& a).
  • Géén spatie tussen twee sluitende template bekjes template<A, vector<int>>.
  • 1TBS is, zoals de naam het zegt, de One True Brace Style en daar mag dus niet van afgeweken worden, ook niet voor klassen of methodes (géén newline voor een {, nooit) (afwijkend)

Header guards

  • Geen! #pragma once is een soort de-facto standaard en korter, sneller en minder fouten

Naamgeving

  • Methodes -> camelCase: ikBenEenMethode (afwijkend)
  • Classes -> PascalCase: IkBenEenKlasse
  • Attributes -> snake_case + prefix: m_ik_ben_een_attribuut (met prefix g_ voor static vars)
  • Variabelen -> snake_case: ik_ben_een_variabele

Voorbeeld

namespace foo {

class Foo : public ParentFoo {
public:
	Foo(int var) : m_var(var) {
		std::cout << "Initialized!\n";
	}

	~Foo();

	virtual int timesFive(int arg) {
		int dit_is_vijf = 5;
		int* b = &dit_is_vijf;
		return *b * arg;
	}

private:
	void someFunc() {
		// Let op de spaties Sam ;)
		for (int i = 5; i<10; i++) {
			if (timesFive(i) <= 35) {
				std::cout << "Foo\n";
			} else {
				std::cout << "Bar\n";
			}
		}
	}
	
	int m_var;
};
}