repo copy for exercise
Go to file
Paul Bergmann 7c3930bd1a wip stringbuffer and outputputStream 2023-10-28 13:42:17 +02:00
boot Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
compiler Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
debug Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
device Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
interrupt Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
machine Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
object wip stringbuffer and outputputStream 2023-10-28 13:42:17 +02:00
test-stream wip stringbuffer and outputputStream 2023-10-28 13:42:17 +02:00
tools Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
user Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
utils Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
.gitignore Skeleton 2023-09-22 11:19:29 +02:00
.gitlab-ci.yml Skeleton 2023-09-22 11:19:29 +02:00
CPPLINT.cfg Skeleton 2023-09-22 11:19:29 +02:00
LICENSE Skeleton 2023-09-22 11:19:29 +02:00
Makefile Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
README.md Skeleton 2023-09-22 11:19:29 +02:00
main.cc Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00
types.h Handout for Assignment 1: In- & Output (text mode, keyboard) 2023-10-11 13:00:04 +02:00

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 case

    class 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