When I write code I have 3 criteria to measure success 1) does the code work? 2) is the code understandable thus maintainable? 3) is the code efficient?