- Prioritize working, correct code over perfect process.
- Make the smallest reasonable changes.
- Match the style of surrounding code.
- Understand requirements before coding.
- For non-trivial tasks, outline a short plan first.
- Implement incrementally.
- Add tests for new critical logic or bug fixes.