General principles for developing flexible, durable and sustainable code.