首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >记录javascript方法的副作用

记录javascript方法的副作用
EN

Stack Overflow用户
提问于 2014-08-15 02:20:30
回答 1查看 1.9K关注 0票数 18

我正在努力改进我的javascript代码的文档,并遵循JSDoc指南https://jsdoc.app/

我找不到如何记录故意的副作用。例如下面的方法:

代码语言:javascript
复制
/**
  * @description
  *   Paints the object red.
  * @return
*/
Painter.paintItRed = function(someObj){
    someObj.color = "red";
};

如何记录该方法直接作用于传递的对象这一事实?一个不同的例子:

代码语言:javascript
复制
/**
  * @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!更好的东西

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-07 23:09:49

从3.6.0版本开始,JSDoc就有一个未公开的@modifies标记来实现这一目的。

参见commit 2f99af8issue 1283

之前的答案,包含在添加您自己的标签的参考中。没有标准化的方法可以做到这一点。至少是not in JavaDoc,公平地说,这就是JSDoc正在模仿的。顺便说一下,有an issue可以将它添加到JSDoc中,它实际上引用了这个问题。

如果您真的想记录这一点,您可以添加一个自定义标记,就像您可以使用for JavaDoc一样。例如,您可以使用它来添加@affects标记。它可以按如下方式使用。

代码语言:javascript
复制
/**
 * @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

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25314979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档