Comment by Terr_
19 days ago
> Much better is to put it all into one, ugly file until the kinks are worked out and then organize it later
IMO this defer-until-needed approach depends a bit on having better tooling to use whenever the rework happens. Stuff like languages with statically-checkable types, good "Find Usages" IDEs, tests that exercise the overall architecture, etc.
When you can't count on those things, a constant gradual approach is needed to compensate.
It’s funny, I did a lot of python programming early in my career, and I didn’t realize just how afraid I was of refactoring until I started doing embedded work. Even as bad as the weakly typed C type system is, I found the compiler to be a godsend for changing my code later.