|
|
|
|
|
by JohnBooty
1002 days ago
|
|
Well, I certainly agree that engineers tend towards YAGNI and this must be avoided. Refactoring is something that should be driven by
new features (or worst case towards rewrite),
This overlooks a whole other class of factors that can drive maintenance: changes in the environment.Assuming we're talking about a program that does something useful and isn't just a screensaver, it's probably ingesting data from the outside world. That data can change in a variety of ways. API partners and users can introduce changes on their end and will eventually find new and annoying edge cases. Or maybe the volume of data increases by 100x and changes must be made on your end. Or maybe your software sort of rots as the security vulnerabilities pile up. Eventually you've got to make major version or point upgrades to the framework and/or various dependencies. We want to handle these demands judiciously and as a rule, yeah, refactoring isn't generally going to be the answer but sometimes it is. |
|