Helpful Links
Collecting all of the links to external webpages in various guides in one place.
Bazel
Bazel rules style guide: https://bazel.build/rules/bzl-style
Bazel BUILD files style guide: https://bazel.build/build/style-guide
Bazel remote execution: https://bazel.build/remote/workspace
Git
Git commit message advice: https://wiki.openstack.org/wiki/GitCommitMessages#Information_in_commit_messages
Git flow branching model: https://nvie.com/posts/a-successful-git-branching-model/
C++ Coding
Core guidelines: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines
Smurf Naming: https://blog.codinghorror.com/new-programming-jargon/
Strongly named types: https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/
Smart pointers: https://herbsutter.com/2013/05/29/gotw-89-solution-smart-pointers/
Principle of Least Surprise: https://youtu.be/zL-vn_pGGgY?&t=227
Python Coding
PEP8 - Python Style Guide: https://peps.python.org/pep-0008/
PEP484 - Type Hints Guidelines: https://peps.python.org/pep-0484/
Google Python Style Guide: https://google.github.io/styleguide/pyguide.html
Static Analysis Tools
Ruff Linter: https://github.com/astral-sh/ruff
Pytype Type Hint Checking: https://github.com/google/pytype
Project Structure & Testing Tools
Configuring Projects with pyproject.toml
: https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
hatch
Build System: https://github.com/pypa/hatch
Python unittest
: https://docs.python.org/3/library/unittest.html
coverage
Test Coverage Reporting: https://coverage.readthedocs.io/en/7.4.3/
VSCode Extensions
Python Language Support: https://marketplace.visualstudio.com/items?itemName=ms-python.python
Python Debugger: https://marketplace.visualstudio.com/items?itemName=ms-python.debugpy
Ruff Linter Support: https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff
Remote Development with SSH: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh
Development with WSL: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl
Software Architecture And Design
Law of Demeter: https://en.wikipedia.org/wiki/Law_of_Demeter
Observer design pattern: https://en.wikipedia.org/wiki/Observer_pattern
Event driven application: https://en.wikipedia.org/wiki/Event-driven_architecture
RAF Idioms
Type Length Value: https://en.wikipedia.org/wiki/Type%E2%80%93length%E2%80%93value
First Class Object: https://en.wikipedia.org/wiki/First-class_citizen
Tools
clang-tidy: https://clang.llvm.org/extra/clang-tidy/
clang-check: https://clang.llvm.org/docs/ClangCheck.html
cppcheck: https://cppcheck.sourceforge.io/