Many good programming practices boil down to preparing for change or expressing intent. Novices emphasize the former, experts the latter.

(John D. Cook)