I find this topic annoying at times. Because we are all different and hardly agree on what "done" is or what "clean" is.
I now let the definition of what the "product" decide on how I should proceed.
Once that product has a clear understanding of what is required, then experience follows with what the appropriate architecture looks like, thus the tech, the principals and standards that should follow.
How about ensuring a one function one thing (sounds familiar 😏) principal which will allow for easier changes or modifications as the "product" evolves.
And if there is more than one if in your function STOP!...
Last thought... If we actually took time "to measure twice and cut once" we would spend less time refractoring and bug fixing.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.