I always stress about readability, but I've never thought about the end-to-end "experience" of using a class or API I've written before. I think framing it in this way is helpful.<p>Here's a related article that floats the idea of "code usability": <a href="http://www.crossbrowser.net/97/code-usability/" rel="nofollow">http://www.crossbrowser.net/97/code-usability/</a>
The most profound adage I've learned about programming recently is: "You will spend far more time reading your own code than writing it"...and this always kicks in everytime I decide whether I should properly indent, name variables according to their scope, and add properly formatted comments when needed.<p>With code-completion and relatively fast typing skills, you never regret or remember the extra few seconds it takes to properly type something out...but you'll always feel a slight blood pressure rise everytime you return to poorly written code.