Recommended reading

If you plan to write more than a few hundred lines, of code, we would like you to consider reading a bit about software engineering. We believe that a few of the books listed below will give you a great background on this topic and are well worth the few hours you will spend reading them.

Generic

  • Refactoring: improving the design of existing code by Martin Fowler.
  • Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.
  • Debugging: The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems by David J. Agans. (book website)
  • The Mythical Man-Month: Essays on Software Engineering by Fred Brooks. (No silver Bullet, No Silver Bullet revisited)
  • Facts and Fallacies of Software Engineering by Robert L. Glass
  • Find the bug : a book of incorrect programs by Adam Barr: Chapter 2 is a great introduction to code reading techniques.

C++

  • Effective C++: 50 Specific Ways to Improve Your Programs and Design by Scott Meyers.
  • More Effective C++: 35 New Specific Ways to Improve Your Programs and Design by Scott Meyers.
  • C++ Templates - The Complete Guide by David Vandevoorde and Nicolai M. Josuttis.