]> git.ipfire.org Git - thirdparty/pdns.git/blobdiff - CONTRIBUTING.md
Merge pull request #14245 from ns-sjorgedeaguiar/backport-14218-to-auth-4.9.x
[thirdparty/pdns.git] / CONTRIBUTING.md
index 36bdab399df8dde25eca99ae85637c3b630b122c..20a812fcc5d1880a4ec1ba1b2f33331ff617bc69 100644 (file)
@@ -73,7 +73,7 @@ plus various other directories with `regression-tests.*` names.
 * If this commit fixes an issue, put "Closes #XXXX" in the message
 * Do not put whitespace fixes/cleanup and functionality changes in the same commit
 
-# Coding Guidelines
+# Formatting and Coding Guidelines
 
 ## `clang-format`
 
@@ -83,17 +83,17 @@ If you're adding new code, adhering to the formatting configuration available in
 
 Any formatting breakage in already formatted files will be caught by the CI. To format all files that are supposed to be formatted, run `make format-code` in the root of the tree.
 
-## Additional guidelines
+## Formatting guidelines
 
 * Don't have end-of-line whitespace.
 * Use spaces instead of tabs.
-* Although the codebase does not consistently have them, [docblock](https://www.doxygen.nl/manual/docblocks.html)s on functions and classes are appreciated.
-* Never hesitate to write comments on anything that might not be immediately clear just from reading the code.
-* When adding whole new things, consider putting them in a `pdns::X` namespace. Look for `namespace pdns` in the codebase for examples.
 
-## Code Checkers
+## Coding guidelines
 
-Even though we don't automatically run any of the code checkers listed below as part of our CI, it might make sense to run them manually, not only on newly added code, but to also improve existing code.
+The coding guidelines can be found in the repository at
+[CODING_GUIDELINES.md](https://github.com/PowerDNS/pdns/blob/master/CODING_GUIDELINES.md)
+
+## Code Checkers
 
 ### `clang-tidy`
 
@@ -128,6 +128,13 @@ If the warning cannot be avoided in any way, a good explanation is needed. As an
 
 `// NOLINTNEXTLINE(*-cast): Using the OpenSSL C APIs.`
 
+### Additional checkers
+
+Even though we don't automatically run any of the code checkers listed below as part of our CI, it might make sense to run them manually, not only on newly added code, but to also improve existing code.
+
+* `clang`'s static analyzer, sometimes also referred as `scan-build`
+* `cppcheck`
+
 # Development Environment
 
 Information about setting up a development environment using a language server like [`clangd`](https://clangd.llvm.org/) or [`ccls`](https://github.com/MaskRay/ccls) can be found in [DEVELOPMENT.md](DEVELOPMENT.md).