diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-25 18:11:32 +0100 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-25 18:11:32 +0100 |
commit | 92e3fbda73128e65a31b3760b3fa4bd0147debe3 (patch) | |
tree | 40a2c43f0de4a0557074c69d1f8eafb5d7b61d3e /contributing.md | |
parent | d038f192c7dcb453c9fc19082cd1b642c8f70fc8 (diff) | |
parent | be5ccbe24086d5d4fb407f268c649dcbc36eda6b (diff) |
merge `master`
Diffstat (limited to 'contributing.md')
-rw-r--r-- | contributing.md | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/contributing.md b/contributing.md index 77a2908..0a90e86 100644 --- a/contributing.md +++ b/contributing.md @@ -17,6 +17,7 @@ that you can click on to open them. working/compiling version of the project - Pull requests for new code include either automated tests for the new code or an explanation as to why the code can not (reliably) be tested + <!-- - TODO: tagging / versions --> @@ -495,6 +496,12 @@ that you can click on to open them. </td></tr></table></details> - <details><summary> Ensure const-correctness + + > [!IMPORTANT] + > C-style APIs that work on (possibly internal) references to structs can be + > called from const member functions in C++. If the compiler allows you to + > mark a function as `const` even though it has side effects, it should + > **not** be marked as `const`. </summary><table><tr><th>Good</th><th>Bad</th></tr><tr><td> ```cpp @@ -795,6 +802,23 @@ that you can click on to open them. ``` </td></tr></table></details> - Do not implement new classes as singletons +- <details><summary> + Retrieving the first or last indices for iterators with a known or expected + size should be done using <code>.front()</code> or <code>.back()</code> + instead of by index + </summary><table><tr><th>Good</th><th>Bad</th></tr><tr><td> + + ```cpp + vector<int> foo = { 1, 2, 3 }; + int bar = foo.first(); + ``` + </td><td> + + ```cpp + vector<int> foo = { 1, 2, 3 }; + int bar = foo[0]; + ``` + </td></tr></table></details> ## CMakeLists-specific |