当 属性 过时时如何处理 semver
How to treat semver when property becomes obsolete
我们正在为我们的 CSS 库使用 semver,确保遵循官方 guidelines 如何对它们进行版本控制。
然而,每当我们使 class(或者在 JS 的情况下 - 属性 或参数)过时 - 我们应该做什么?客户端可以将其从其标记/函数调用中删除,但实际上不必这样做。
正确的版本是什么?
- 一个补丁,因为作为消费者您真的不需要做任何事情?
- 未成年人,因为您可以清理您的代码?
- 一个重要的事件,因为 API 改变了,虽然是可选的,但消费者应该清理它的代码。
根据我对您案例的理解,您应该将过时的 class 标记为 deprecated
,这将导致次要版本的增加,如第 7 点所述:
- Minor version Y (x.Y.z | x > 0) MUST be incremented if new, backwards compatible functionality is introduced to the public API. It MUST be incremented if any public API functionality is marked as deprecated. It MAY be incremented if substantial new functionality or improvements are introduced within the private code. It MAY include patch level changes. Patch version MUST be reset to 0 when minor version is incremented.
我们正在为我们的 CSS 库使用 semver,确保遵循官方 guidelines 如何对它们进行版本控制。
然而,每当我们使 class(或者在 JS 的情况下 - 属性 或参数)过时 - 我们应该做什么?客户端可以将其从其标记/函数调用中删除,但实际上不必这样做。
正确的版本是什么?
- 一个补丁,因为作为消费者您真的不需要做任何事情?
- 未成年人,因为您可以清理您的代码?
- 一个重要的事件,因为 API 改变了,虽然是可选的,但消费者应该清理它的代码。
根据我对您案例的理解,您应该将过时的 class 标记为 deprecated
,这将导致次要版本的增加,如第 7 点所述:
- Minor version Y (x.Y.z | x > 0) MUST be incremented if new, backwards compatible functionality is introduced to the public API. It MUST be incremented if any public API functionality is marked as deprecated. It MAY be incremented if substantial new functionality or improvements are introduced within the private code. It MAY include patch level changes. Patch version MUST be reset to 0 when minor version is incremented.