|
|
|
|
|
by sagarm
1538 days ago
|
|
> Changing an API breaks projects using it; you either do versioned APIs and/or coordinate changes with downstream consumers, the same as you would with an API with external customers. This is a ton of work relative to building/running the tests for all your reverse dependencies and fixing the call sites for them (up to a certain level of scale, of course). > (Another way is “downstream projects checkout their dependencies and build against them as a routine part of their process.“) This happens automatically in a monorepo. Any breakages are revealed as soon as upstream makes the change. |
|
If someone outside of the team responsible for the functionality at issue can fix all the fall sites for a breaking API change without adversely effecting the domain function of the component making the calls, it's a pretty good sign that there wasn't actually a need for a breaking API change in the first place, and a process change that makes unnecessary API churn more expensive is probably beneficial.