Resources on software testing

The test framework used in this project is the Google C++ test. It is recommended to know about testing now because it is an essential element in software development. I want to share with you the following resource for this purpose.

Resources on coding practices

  • For beginners to write code with high readability.
  • More advanced advice from an experienced developer.

Resources for performance optimization


Programming Principles and Practice using C++

Solutions of exercises from the book can be found here.

Clean Code: A Handbook of Agile Software Craftsmanship

Uncle Bob teach us in this book about the best practices for writing code that can be understood by our colleagues, and hence, is of high maintainability. There are many lessons we can learn from this book. Here is a summary of them.


Resources on CMake and Make

In the beginning, it is usually not very clear what those build systems or build system generators are and how they can be beneficial to us.

Overview of CMake and how it manages cross-platform build processes. Introduction to CMake by examples applies to single file projects and multiple directory projects. Please note that CMake isn’t a build system. It’s a build system generator. This is why we need to invoke make after running CMake. Running CMake generates Makefiles with the appropriate platform dependencies, and running make actually uses them.

However, we don’t need to write Make files, as CMake does this for us, it is good to understand build systems.

Code Styling

The following resources are useful for code styling. It is recommended to adopt one or follow the one your company uses

  • https://google.github.io/styleguide/cppguide.html
  • https://web.cs.dal.ca/~jin/3132/assignments/style.html

If you want to ensure Google C++ style in your code, then the simplest way is to ensure install the cpplint extention in your vscode.