10 Covenants: Difference between revisions
From charlesreid1
(Created page with "Ten Covenants of API Evolution: https://emptysqua.re/blog/api-evolution-the-right-way/ ==First Covenant: Avoid Bad Features== Your goal is not to provide features that can b...") |
|||
| Line 16: | Line 16: | ||
You don't want a feature that, if abused, breaks everything ever and changes the very foundational nature of what your library does. | You don't want a feature that, if abused, breaks everything ever and changes the very foundational nature of what your library does. | ||
==Fourth Covenant: Mark Experimental Features "Provisional"== | ==Fourth Covenant: Mark Experimental Features "Provisional"== | ||
Don't get locked into a dumb feature - if you aren't sure you really want to keep it, mark it as experimental/provisional. Next release, keep what works (mark it official) and discard what doesn't. | Don't get locked into a dumb feature - if you aren't sure you really want to keep it, mark it as experimental/provisional. Next release, keep what works (mark it official) and discard what doesn't. | ||
Revision as of 22:49, 13 November 2018
Ten Covenants of API Evolution: https://emptysqua.re/blog/api-evolution-the-right-way/
First Covenant: Avoid Bad Features
Your goal is not to provide features that can be used to bite users, it's to provide features that work and don't have weird subtle behaviors
"It would have been better if this bad feature were never implemented at all."
Second Covenant: Minimize Features
To avoid bad features, add few features in general!
Features are like children: conceived in a moment of passion, they must be supported for years.
Third Covenant: Keep Features Narrow
You don't want a feature that, if abused, breaks everything ever and changes the very foundational nature of what your library does.
Fourth Covenant: Mark Experimental Features "Provisional"
Don't get locked into a dumb feature - if you aren't sure you really want to keep it, mark it as experimental/provisional. Next release, keep what works (mark it official) and discard what doesn't.