我正在努力改进我的javascript代码的文档,并遵循JSDoc指南https://jsdoc.app/。
我找不到如何记录故意的副作用。例如下面的方法:
/**
* @description
* Paints the object red.
* @return
*/
Painter.paintItRed = function(someObj){
someObj.color = "red";
};
如何记录该方法直接作用于传递的对象这一事实?一个不同的例子:
/**
* @description
* If the user has not setUp a config, show config Modal.
* @return
*/
User.checkConfig = function(user){
if(!user.config.valid){
showConfigModal();
}
};
这些都是人为的例子和可能的“代码气味”,但这是另一个问题。我正在研究一些关于如何记录此类行为的最佳实践(无论是好是坏)。可能比//IMPORTANT!! This method is dangerous!
更好的东西
发布于 2017-03-07 23:09:49
从3.6.0版本开始,JSDoc就有一个未公开的@modifies
标记来实现这一目的。
之前的答案,包含在添加您自己的标签的参考中。没有标准化的方法可以做到这一点。至少是not in JavaDoc,公平地说,这就是JSDoc正在模仿的。顺便说一下,有an issue可以将它添加到JSDoc中,它实际上引用了这个问题。
如果您真的想记录这一点,您可以添加一个自定义标记,就像您可以使用for JavaDoc一样。例如,您可以使用它来添加@affects
标记。它可以按如下方式使用。
/**
* @description
* Paints the object red.
* @param someObj
* The object to be painted.
* @affects
* someObj.color
*/
Painter.paintItRed = function(someObj) {
someObj.color = 'red';
};
在JSDoc is not hard中定义自定义标记,另请参阅this related question。
https://stackoverflow.com/questions/25314979
复制相似问题