diff options
author | Justin Nolan <justin@nolan.de> | 2023-02-10 21:09:34 +0100 |
---|---|---|
committer | Justin Nolan <justin@nolan.de> | 2023-02-10 21:09:34 +0100 |
commit | 2fc3fa669fcf91dd213db1f4169bdafba84c5a97 (patch) | |
tree | 34762706d4c15866b23c58bc56b0584d1db776a5 /docs/styleguide-cpp.md | |
parent | 180a7c5a6dff21f319a80780376450a46080ca28 (diff) |
Revert "Remove latex files"
This reverts commit 180a7c5a6dff21f319a80780376450a46080ca28.
Diffstat (limited to 'docs/styleguide-cpp.md')
-rw-r--r-- | docs/styleguide-cpp.md | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/docs/styleguide-cpp.md b/docs/styleguide-cpp.md new file mode 100644 index 0000000..ad1add6 --- /dev/null +++ b/docs/styleguide-cpp.md @@ -0,0 +1,58 @@ +# OpenVic2 C++ Style Guidelines + +## Table of Contents + 1. [Why Style?](styleguide-cpp.md#why-style) + + 1.1. [General Principles](styleguide-cpp.md#general-principles) + + 1.2 [File Formatting](styleguide-cpp.md#file-formatting) + + 2. [Conventions](styleguide-cpp.md#conventions) + + 2.1. [Naming Conventions](styleguide-cpp.md#-naming-conventions) + +## 1. Why Style? +You may be wondering ”Why do we need a style guide?” ”Are you trying to give me homework?” +### 1.1. General Principles + + - Prefer clarity over brevity + - Don’t optimize prematurely + - Avoid C-style casts + +### 1.2. File Formatting +Source code files should adhere to the following: + + - Encoded in UTF-8 + - Use tabs for indentation + - Use LF for end-of-line sequences + - Not have any trailing whitespace (Lines which end in spaces or tabs + - Any #include directives should be at the top of the file + +## 2. Conventions +### 2.1 Naming Conventions +| Item | Writing Convention | Example | +|--|--|--| +| Class and Struct Names | Pascal Case | MyCoolExample | +| Variables and Function Names | Camel Case | myCoolExample | +| Constants, Enum Values and Preprocessor | Macro Case | MY_COOL_EXAMPLE | +| Type aliases | Snake Case | my_cool_example_t | + +```c++ +# pragma once +# include < stdio .h> +# include < iostream > +// A comment +constexpr size_t UNIQUE_RGB_COLOURS = 256 * 256 * 256; + +struct RGBColour { + unsigned char r ; + unsigned char g ; + unsigned char b ; +}; + +bool isColourGreyscale ( RGBColour c ); + +class Something { + +}; +```
\ No newline at end of file |