如何解决通过在 JSDoc 上添加值契约来实现参数和结果的函数签名条件参数值限制,LT
如您所知,jsdoc
和类似的 javadoc
允许描述和验证函数签名。它允许描述可能的类型、枚举、自定义类型甚至可能的值列表。
https://apidocjs.com#param-api-param,How to document a string type in jsdoc with limited possible values .
但我找不到常规比较器 less than
(<
<
) 或外部自定义函数的示例。甚至更多:我不仅需要十进制数,还需要例如也适用于四舍五入的浮点数/双精度数。
P.S.:你可以告诉我,jsdoc 只用于文档生成和人类阅读,人类无法阅读此类功能,但这是错误的。已经有很多通过jsdoc格式进行自动检查的解决方案(例如TypeScript和ESLint,但它们无法检查输入输出的运行时完整性和价值契约)。
运行时检查中请求的简化示例:
/**
* @param {number} height
* @param {string} firstname
* @param {string} nickname
*
* @pre height > 100 && (firstname || nickname.length >= 4)
*/
function setState (height,firstname,nickname) {
...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。