| ▲ | 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. | ||