criteria clean code