From 2fc3fa669fcf91dd213db1f4169bdafba84c5a97 Mon Sep 17 00:00:00 2001 From: Justin Nolan Date: Fri, 10 Feb 2023 21:09:34 +0100 Subject: Revert "Remove latex files" This reverts commit 180a7c5a6dff21f319a80780376450a46080ca28. --- docs/styleguide-cpp.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 docs/styleguide-cpp.md (limited to 'docs/styleguide-cpp.md') 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 -- cgit v1.2.3-56-ga3b1