I happened to be on StackOverflow perusing a few questions (not that I spend much time there, ahem!), and I came across this great List of freely available programming books, which includes 97 Things Every Programmer Should Know
A few of my favorites are:
- Ask “What Would the User Do?” (You Are not the User)
- Code Reviews
- Comment Only What the Code Cannot Say (I have actually seen a ‘programmer’ write i = i + 1 // increment i by 1, no one I currently work with, I hasten to add!)
- Improve Code by Removing It
- Use the Right Algorithm and Data Structure (if code has quadratic complexity, it will not scale: BubbleSort springs to mind!)
- Write Code as If You Had to Support It for the Rest of Your Life