Dave Thomas
When you come across a stumbling block because the code doesn't quite fit anymore, or you notice two things that should really be merged, or anything else at all strikes you as being “wrong”, don't hesitate to change it. There's no time like the present.
Write shy code — modules that don't reveal anything unnecessary to other modules and that don't rely on other modules' implementations.