elements of programming style www.softpanorama.org