clean code ch on code smells