Code Design Guidelines

Here is a list of code "smells" and heuristics adapted from several sources. Like the style guide, these are subjective rules, however they represent the consensus of many experienced programmers, and we may deduct some points for violating them.

Single Responsibility Principle

Any block of code, Module, class, function, or method should do one well-defined thing, and do it well.

Comments are for technical notes about the code and design

Builds and tests should take a single step

Functions and Methods

Classes

Tests

See also Unit Testing with Catch and CMake.

Misc