aboutsummaryrefslogtreecommitdiff
path: root/doc/Development/Hacking.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/Development/Hacking.asciidoc')
-rw-r--r--doc/Development/Hacking.asciidoc52
1 files changed, 0 insertions, 52 deletions
diff --git a/doc/Development/Hacking.asciidoc b/doc/Development/Hacking.asciidoc
deleted file mode 100644
index d0332e9..0000000
--- a/doc/Development/Hacking.asciidoc
+++ /dev/null
@@ -1,52 +0,0 @@
-== C++ Performance
-(Adapted from CppCon2016 Practical Performance Practices)
-https://florianjw.de/en/cpp_coding_standard.html
-
-- Prefer std::array, then std::vector
-- Construct and initialize in one step
-- Use const always when possible
-- To enable const with complex initialization, use lambdas
-- Don't recalculate values that only need to be calculated once
-- Don't disable move operations - moving is more efficient than copying
-- Avoid shared_ptr copies unless really needed
-- Prefer returning unique_ptr from factories
-- Use '\n' instead of std::endl
-- Use lambdas - they have no overhead compared to direct functions
-- final can help the compiler optimize virtual function calls
-- Code branches are expensive
-
-=== Smaller code is faster code
-
-=== Do one thing and do it well
-Simple code is easy to understand, easy to maintain, and as such lead to less bugs.
-
-=== Only use text formats
-They can be edited both by humans and by programs. Use generic formats (ini, json, etc.) instead of custom ones.
-
-=== Document your changes
-Don't do this just for others, do it for your future self.
-
-== Useful compiler options
-- -fuse-ld=gold
-- -Wold-style-cast
-
-=== Setting in meson
-Compiler arguments are free-form comma-separated list.
-meson configure -Dcpp_args="-Wold-style-cast"
-meson configure -Dcpp_link_args="-fuse-ld=gold"
-
-== C++ Coding Standard
-
-=== Naming Conventions
-- Naming uses camelCase
-- Private attributes are prefixed with 'm_'.
-- Include guards should be named SMOLBOTE_<class name in caps>_H
-
-=== Compiler
-- Use the highest sane warning level.
-
-=== Resource management
-- Manage your resources with RAII (Resource Acquisition Is Initialization).
-
-=== Functions
-- Try to keep the complexity low and the body short.