Simon Willison - Productivity
Notes
- Commits should contain:
- Implementation (a single change)
- Documentation
- Unit tests
- Link to an issue thread
- Always write over-verbose issue threads
- To help you track decisions made
- To document false starts and possible approaches
- To document the reason for the change
- To store stackoverflow links or other useful external info
- Code snippets
- Screenshots (animated where appropriate)
- Link to updated docs and demo upon close
- Issue trackers are temporal - unlike documentation, it cannot get out of date and does not need to be maintained
- "Issue driven development"
- Means you don't have to keep track of anything
- "Treat the project like it will be maintained by someone else"
- Helps you get back to what you were doing much quicker
- Issue trackers are equivalent to lab notebooks
- If you do something, you have to tell people what you did
- Avoid side projects with user accounts
- If it has user accounts, it's not a side-project, it's an unpaid job
Links