Uncle Bob's clean code exercise