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

(John D. Cook)