我很难找到合适的文档样本/文档ES6代码的引用,比如ES6文档的某种备忘单。
我想在JSDoc文档上保持一致,但是在这个问题的最常见答案中,我只能设法找到琐碎的代码文档,而不是适合新ES6 + /的文档反应语法或更复杂的参数,如数组,映射,参数反序列化等。
例如does-javascript-have-a-standard-for-commenting-functions仅提供有关标准参数的常规JS函数的文档示例。
我想找到规则/好方法来记录这样的事情,如何表明需要或不需要的参数等等。
方法I的例子,想要记录
const signInWithCredentials = ({ emails, password, authentication_code }, options) => {
}
我可以想到这样的事情
**
* Attempts sign in with any possible credentials pair
* (Provide either email + password, or an authentication_code and a provider name in the options
* @param {
* emails: { Array<String> },
* password: { String },
* authentication_code: { String }
* } - credentials
* @param { Object } - options
* @param { String } - options.provider
但我不确定如何处理不具有名称function({ param1, param2 })
,嵌套function({ param1: { nestedParam1, nestedParam2 })
或重命名为function({ param1: name1 })
的反序列化参数以及如何处理组合类型,如xxx数组
我已经在使用PropTypes
进行了多次方法声明,但它们只在使用React组件时才有效,但在编写实用函数等时不太有用。
答案 0 :(得分:1)
没关系,我刚刚意识到JSDoc有一个带有文档样本的官方页面,其中包含了一个关于破坏的部分
http://usejsdoc.org/tags-param.html
Documenting a destructuring parameter
/**
* Assign the project to an employee.
* @param {Object} employee - The employee who is responsible for the project.
* @param {string} employee.name - The name of the employee.
* @param {string} employee.department - The employee's department.
*/
Project.prototype.assign = function({ name, department }) {
// ...
};