42457989558c61629e460f635482354411e22f22
mostly include some things that should and remove some things that shouldn't have been included in the handout (yes this does hint at some places that need to be touched for A2)
StuBSmI - Studenten Betriebssystem mit Isolation
Coding Guidelines
Similar to Google C++ Style Guide but with following exceptions:
- No license boilerplate
- Tabs instead of Spaces
- Line length of 120 characters
#pragma onceinstead of#includeguards
The code should be self-documenting, don't state the obvious! However, this does not make comments superfluous: Since good naming is sometimes not enough, more advanced parts need to be documented, so any operating system developer should be able to easily understand your code.
Naming Convention
-
Variables: lowercase with underscore
char* variable_name; -
Constants (and enum values): uppercase with underscore
const int CONST_VALUE = 42; -
Type Names (
class/struct/namespace/enum): Capital letter, camel caseclass SomeClassName; -
Methods/Functions (C++): start with lowercase letter, then camel case
void someFunctionName(); -
extern "C" Functions: lowercase with underscore (like variables).
void interrupt_handler(int vector); -
File Names: lowercase, main type name, underscores only if is a sub type
folder/classname.cc
Description
Languages
C++
62.3%
C
36.2%
Makefile
0.7%
Assembly
0.6%