Rules of Thumb - Bjarne Stroustrup
[From "The C++ Programming Language, 2nd Ed." by Bjarne
Stroustrup.]
- Know what you are trying to achieve
- Have specific and tangible aims
- Consider the longer term
- in design
- in the treatment of people
- Use existing systems as models, as inspiration, and as starting
pints
- Design for change
- flexibility
- extensibility
- portability
- re-use
- Document, market, and support re-usable components
- Reward and encourage re-use of
- designs
- libraries
- classes
- Focus on component design
- Repeatedly review and refine both the design and implementation
- Use the best tools available for testing and analyzing
- Experiment, analyze and test as early as possible and as often
as possible
- Keep it simple; as simple as possible, but no simpler
- Keep it small; don't add features "just in case"
- Don't forget about efficiency
- Keep the level of formality appropriate to the scale of the
project
- Don't forget that designers, programmers, and even managers
are human.