Remix.run Logo
pianopatrick 39 minutes ago

Right but if you coordinate those changes in a new version you would still have the old version to fall back to if any of those changes lead to problems.

kstenerud 21 minutes ago | parent [-]

Yes, but then there's a trap lurking nearby: As different versions of the same function proliferate, it muddies the waters, because you now have multiple parts of your system calling a similar-but-not-quite-the-same function. Your refactors are never complete, and you find yourself less able to properly reason about the system as a whole anymore. The payment and subscription systems call different versions of the same function, which works most of the time but they don't always agree.

With a lot of discipline and process control, one could make such a system work, but it's most definitely not a free lunch. The complexity has to go somewhere.