It takes time to write a good change, but it takes way, way more time to figure out what the purpose of some random change was later. I've had people contribute code to a project and try to tell me they didn't understand it well enough to separate it and document it. If you don't understand it, how can I possibly understand it?
The largest, least well-documented commits are the ones that seem to cause the most confusion when I go back to figure them out.
Comments
I like to polish my commits and make them be concise, informative and correct. I wrote a tool to help with some of that: http://dustin.github.com/2010/03/28/git-test-sequence.html
It takes time to write a good change, but it takes way, way more time to figure out what the purpose of some random change was later. I've had people contribute code to a project and try to tell me they didn't understand it well enough to separate it and document it. If you don't understand it, how can I possibly understand it?
The largest, least well-documented commits are the ones that seem to cause the most confusion when I go back to figure them out.