Before starting to code make sure you establish priorities and stick to them. Priorities should be established based from the product’s point of view rather then the personal one.

However, maintainability and clean code should be a top priority.

When someone (or yourself) cannot provide a reason for a specific implementation it usually means there are no priorities established yet. When this happens, the best thing to do is to step back, create the priority list and rethink the implementation with the priorities in mind.

A couple of priorities to think (an maybe include on your list) about are:

  • Correctness;
  • Testability;
  • Efficiency (global and local);
  • Maintainability;
  • Clarity (clean code);
  • Consistency;
  • Size;
  • Personal expression;
  • Personal convenience.

More short, but important and useful posts like this one are coming in the “Tip of the Day” category.

These are actually my notes from “Writing Solid Code” by Steve Maguire, an older but excellent book, full with great tips and best practices which can still be applied today, I definitely recommend it. These tips will require little or no background, are  plain and simple but unfortunately, mostly ignored as well.