Not exactly a black and white answer to that. A week could be time well spend to fix technical debt before interest adds up.
Does the pending work require you to interact with that code? For example, does the code you have now contain service classes that you need to use in your pending work?
If so, take time to refactor, because delaying it will increase your technical debt.
If it's very loosely coupled, works and doesn't have an impact on your pending work; I would focus on finishing the MVP and refactor later on.
No code is ever perfect, and perfection is the enemy of good. Striving for perfection will delay your product and many projects have never been finished that way. Trust me, we've all been there.
Get your MVP ready. Once there's cashflow start refactoring.
My strategy while coding is:
- Abstract where needed
- form validation always in formrequest classes
- business logic in service classes immediately
- keep controllers (c)lean
- build controllers for every endpoint instead of using closures inside your routes file
Even if the service classes or form request classes get messy, it's contained and you can optimize later on. Even if a model becomes a god class, it's contained to that model.
Just make sure you don't cram everything from validation to business logic inside the controller(s), because that gets messy real quick.
If a service class get's messy, it's easy to optimize later on.
Oh, en build tests from the get go. Your future self will thank you for it.