It’s important to establish a pipeline for development, C++ has plenty of tools to deal with this process. These are my weapons of choice:
- Project organization: Cmake
- IDE: Emacs, Qt Creator
- Unit Test (TDD, BDD): Catch2 or Google Test
- Fuzz Testing: libFuzzer
- Continuous Integration: Travis CI
- Static Analysis: Cpp Check
Follow Work In Progress (WIP) Algorithms I’m trying to apply these concepts.
On other project C++ Unit Tests I have used Google-Tests for TDD and Travis for Continuous Integration