There is an optimization that needs to be done between manageable code and deliverables. If your code is poorly structured it may be very difficult to expand or iterate upon. This is not ideal, and will slow down your goals.
However you could spend forever rewriting and refactoring. What is the value in that?