3 ms·
> usually in a mindless/mechanical way Loaded language not withstanding one of the premier books is all about “mindless/mechanical” changes to structure withou
by rileymat2 4y ago
> usually in a mindless/mechanical way
Loaded language not withstanding one of the premier books is all about “mindless/mechanical” changes to structure without changing behavior. It is about step by step safe microchanges.
This might be the biggest difference between refactoring and rewriting.
But you are right it is pushing bits around with no behavioral change. That’s the point.
The open question is if this newly refactored software is more maintainable, more understandable, easier to change in the dimensions it will mutate in the future. Often the answer is “no” and you are right to be frustrated.
- karmakaze 4y agoThe execution (how) can be 'mechanical' but the goals and choices (why) should be thoughtful. If it's simply deduplication there is no thoughtful why necessary, although in the worst cases abstract machinery is created for the purpose. You're right about my misconstruing 'no behaviorial change' as that is always a requirement. There should however be a change in where the seams of the implementation lie which better suits the direction of expected changes.