Any inaccuracies in this index may be explained by the fact that it has been sorted with the help of a computer. --Donald Knuth

The Programmer's Code - 27 Rules to Code By

Sky Bird.  Captured at the Cooley Lake Conservation Area.  Copyright © Steve Lautenschlager.

Following is my list of the single most important lessons for the software programmer to know and understand at a deep level.

In the next few weeks I'll be writing an in depth article on each item in the list.

Make sure you don't miss any updates by joining my email list or RSS feed.

The Programmer's Code - 27 Rules to Code By

Daily Disciplines

  1. Be consistent.
  2. Fail fast and hard.
  3. Never write the same code twice.
  4. Be explicit.
  5. Code for the maintainer.
  6. Adapt and adopt.
  7. Simplify, simplify, simplify. Or I just say, simplify.
  8. Minimize scope.

Design Disciplines

  1. Beware the BSOD (Bright Shiny Object of the Day).
  2. Layers, levels, loops and bubbles.
  3. Make decisions at the lowest level possible.
  4. Favor composition over inheritance.
  5. Minimize dependencies.
  6. Names matter.
  7. Don't design the future.
  8. Functional first.
  9. Everything is an API.
  10. Minimize UI code.

Attitudes

  1. Humility happens.
  2. Never say *should*, *impossible* or *it works for me*.
  3. Everything is possible with enough time and money.
  4. Think like a user.
  5. The Missouri Mind (Show Me)

Precepts

  1. Assess often.
  2. If it's not demoed, it's not done.
  3. If it can be forgotten, it will be.
  4. Rules are best broken by those who have mastered them.