forked from BSB-WS23/mpstubs
Alexander Krause 3e8f31ac80 | ||
---|---|---|
boot | ||
compiler | ||
debug | ||
device | ||
interrupt | ||
machine | ||
object | ||
test-stream | ||
tools | ||
user | ||
utils | ||
.gitignore | ||
.gitlab-ci.yml | ||
CPPLINT.cfg | ||
LICENSE | ||
Makefile | ||
README.md | ||
main.cc | ||
types.h |
README.md
MPStuBS - Multiprozessor Studenten Betriebssystem
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 once
instead of#include
guards
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