- Each change should only do one things (Add feature, fix bug, fix performance issues)
- Corollary: Submit each change independently as early as possible
The reason this was a problem was that things took twice as long as they would have if I was disciplined. Keeping changes small makes testing them before submission easier. It makes reviewing before submission easier (I review my changes for submission to keep myself from submitting lazy hacks). After each part, the lightning bolts still weren't right, and I got discouraged from hacking on them further.
Submitting early and often forces you to keep biting off small bits of the problem, fixing or implementing just that part, testing just that small part, and getting it submitted so you can work on another. I find that it works well for me.
2 comments:
That's so true. I call this "microstep method". At the end of each day, the project must compile and run, whatever big refactoring you're into.
While this may represent more work at the end, it ensure you'll never get stuck with a non compilable project that you will forget on a shelf.
I just installed mercurial/tortoise-hg and had a go with a small project. It's actually pretty fun! The red icons over the files indicate when there were changes so it's a good reminder. However, I can see this happening a lot, where you defer committing and then don't know what you did? Maybe it's just a matter of habit :)
Post a Comment