It's not even an issue with adding JS, they could build it entirely in React and not have it crawl along like new Reddit does. The issue is 'redesigns' which real purpose is to add extra layers of user engagement, ads and tracking.
You learn this pretty quickly in practice, I think every junior dev has tried to make an abstraction the first time they saw some complicated business logic and failed miserably. Now if I think an abstraction is easy I'll do it the second time around, otherwise I'll wait until its absolute (n)ecessary.
In a perfect world, yes. In the case where someone decided to move around 12gb of data up and down 23 different classes just so they can count the objects in those 12 gb in every class, things start to change. In my case it was the latter.
“ Things You Should Never Do: They decided to rewrite the code from scratch.” This is a great general rule.
The rule is situation dependant and some people can break it and succeed: the parent comment was very clearly one of those situations.
The actual risk is that the majority of us think we can break the rule, when it turns out we can’t. But a minority of people/situations can successfully do a complete rewrite, success defined as where the gains abundantly outweigh the pains.
My rule is be skeptical of anyone proposing a rewrite who doesn't fully understand the existing system, to such depth that they would feel comfortable refactoring it. Which means anytime someone says "we want to rewrite it because refactoring it is too hard" I tend to not believe them.
There are times when rewrites are less total work, but they're hardly ever "easier" when you account for the cognitive load of making sure the requirements of the rewrite are being accurately captured. Maybe there's an exception if you know the requirements have been drastically simplified, but I doubt that's practically useful.
Do you guys think it would be worth removing the foot paths? Someone here proposes to remove them altogether: https://github.com/anvaka/city-roads/issues/3 - I'm not sure yet which direction would make more sense?
I don't know if it would complicate the UI too much, yet having a toggle for them would be amazing. There are solid arguments each for having them and not, for example they're perfect for trail systems, yet horrible when it comes to sidewalks which turn each road into a triple line.