How would you define “supportable”?
Most Devs hate working on other people’s code though, so prefer rewrites.
I now suspect this is basically where it’s coming from.
Formerly u/CanadaPlus101 on Reddit.
How would you define “supportable”?
Most Devs hate working on other people’s code though, so prefer rewrites.
I now suspect this is basically where it’s coming from.
Rereading this, I probably should have added a hedge - is it usually better to start from scratch. I do know that there’s exceptions to most rules, and this isn’t actually a practical problem I’m facing.
Thanks, this is kind of how I thought it should be. I just didn’t know if I was missing something, because people on the humour communities trash talk refactoring a lot.
Edit: Wow, Netscape… Sorry to say it, but that post isn’t much younger than me. I don’t even know a most of these examples. That being said, it was still a great read.
So how is that different from refactoring?
Yes, there’s usually a niche case, right? That’s why cargo cult engineering comes nowhere near the real thing.
In a way you’re right - someone else already mentioned the uncommon-but-plausible situation where the original edge cases are no longer possible and don’t need to be handled. Most engineering has “fat tails”, where the rare exceptions are actually pretty common. The thing is, “it depends” doesn’t convey very much. Do you have some examples you could add, maybe?
My sense from all these answers are that the guys in programmer humour communities that hate refactoring are probably inexperienced junior programmers.
Legible code should not require “reverse engineering”, there should be comments linking to issues, use cases, an architecture overview, and so on. If you’re lacking those, start there, no matter which path you pick.
Yeah, I just added that bit in to keep away the “ACKTUALLY if it’s written UNIVAC III assembly you have to rewrite it” answers. Technically correct, but not what I need.
There’s no practical problem I’m immediately facing here, I just didn’t understand some of the opinions I was hearing and was curious. (All my hobby projects are either new software from scratch or adding features to existing code, right now)
Yes, do nothing is an option too, of course. When this has come up on Lemmy, it’s usually because there’s an identifiable issue.
Personally, I’m not really in the market to refactor anything right now, this isn’t a practical question. Honestly there’s plenty of FOSS that hasn’t been made the first time.