General Principles.

Apr 15, 2014 at 9:01 PM
Edited Apr 19, 2014 at 5:45 PM
Use modern C++. Start here
Be idiomatic.
Use int, and std::vector (not unsigned int or std::list unless you have a good reason)
Prefer top level functions to classes. (Keep it functional.)
Write everything as a library. (Keep things modular. Write unit tests.)