Tentative definition: refactoring (software sense) is going from how a human *would* solve it to how a machine *should* solve it. Thoughts?
Conversation
Replying to
you’ve never seen an ML solution to a design problem. Human solutions can be elegant. Machine ones are baffling with 4 extra steps.
1
2
Replying to
the textbook ones I learned in an AI course were bafflng but with fewer steps :)
Replying to
doesn't sound right to me. Don't fully follow though... What's "should" here?
Replying to
there's a software adage. "make it work, make it right, make it fast" refactoring is generally the 2nd step and still human focused
1
3
Replying to
I draw the line at sub- vs. conscious understanding: You *know* the old code works, but not exactly how. Refactoring makes it explicit.
1
Replying to
It's never about the machine, IMO, but about simplifying the abstraction hierarchy to make it easier for people to reason about.
4
Replying to
Refactoring is more going from how a human would solve it to how a human improved by experience of solving it once would solve it again
1
Replying to
Refactoring is going from how a human would solve a problem to how a human who better understands the problem would solve the problem.
1
3






