aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit2fc3fa669fcf91dd213db1f4169bdafba84c5a97 (patch)
tree34762706d4c15866b23c58bc56b0584d1db776a5
parent180a7c5a6dff21f319a80780376450a46080ca28 (diff)
Revert "Remove latex files"
This reverts commit 180a7c5a6dff21f319a80780376450a46080ca28.
-rw-r--r--docs/.gitignore3
-rw-r--r--docs/makefile7
-rw-r--r--docs/styleguide-cpp.md58
-rw-r--r--docs/styleguide-cpp.pdfbin0 -> 40093 bytes
4 files changed, 68 insertions, 0 deletions
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..6e25999
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,3 @@
+*.aux
+*.log
+*.toc \ No newline at end of file
diff --git a/docs/makefile b/docs/makefile
new file mode 100644
index 0000000..f5aeba8
--- /dev/null
+++ b/docs/makefile
@@ -0,0 +1,7 @@
+TARGET=styleguide-cpp.tex
+
+docs: $(TARGET)
+ latex -output-format=pdf $(TARGET)
+
+clean:
+ rm -f *.aux *.dvi *.log *.out *.toc \ No newline at end of file
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
diff --git a/docs/styleguide-cpp.pdf b/docs/styleguide-cpp.pdf
new file mode 100644
index 0000000..bc58daf
--- /dev/null
+++ b/docs/styleguide-cpp.pdf
Binary files differ