top | item 45806834

(no title)

zukzuk | 3 months ago

That’s a great way to discourage anyone ever doing any large scale refactoring, or any other heavy lifting.

discuss

order

febusravenga|3 months ago

That's good. Because large refactorings are usually harmful. They are also usually unplanned, not scoped and based on very unquantifiable observations like "I don't like the code is structured" - let's do ity way.

Cthulhu_|3 months ago

That's a good thing, large scale refactorings should be very, very rare. Even automated code style changes can be controversial because of the churn they create. For large and/or important software, churn should be left to a minimum, even at the cost of readability or code cleanliness. I've seen enough open source projects that simply state they won't accept refactoring / reformatting PRs.

gempir|3 months ago

That means your code will stay old.

A new language feature is released, you cannot apply it to old code, since that would make a big PR. You need to do super slowly over time and most old code will never see it.

A better static type checker, that finds some bugs for you, you cannot fix them as your PR would be too big, you instead would need to make a baseline and split it up endlessly.

In theory yes, maybe a bit safer to do it this way, but discouraging developers to make changes is bad IMO. Obviously depends on your usecase, if you develop software that is critical to people's literal life, then you'll move more carefully.

But I wager 99% of the software the world produces is some commerce software, where the only thing lost is money.

ThiefMaster-|3 months ago

Large-scale refactoring is not something you want from an external contributed, especially not if unsolicited.

Typically such refactoring is done by the core development team / maintainers, who are very familiar with the codebase. Also because DOING such a change is much easier than REVIEWING it if done by someone else.

TriangleEdge|3 months ago

The review bots can be bypassed.

charlieyu1|3 months ago

You want to do large scale refactoring without the main team agreeing? Seems like a disaster.

arachnid92|3 months ago

Just split up your work across multiple PRs.