Speaker
A. Jesse Jiryu Davis
Material
Note
- Avoid Bad Features
- Minimize Features
- Keep Feature Narrow
- Mark Experimental Features "Provisional"
- Delete Feature Gently
- Deprecated warning
- Instructive error
- Maintain a Change Log
- Choose a Version Scheme
- Semantic Versioning
- Time-based Versioning
- Write an Upgrade Guide
- Add parameter compatibly (and fail loudly!)
- Add default value for new added parameter that preserve old behavior
- Use
*
<- all parameters after it can only be passed by name
- Changing Behavior without Changing API
- Add a flag
- default False but warn if it's False
- Phrase 2. Change default to True, deprecate flag
- Phrase 3. Remove flag
- Add a flag