是否有JSDoc标准

Is there a JSDoc standard?

本文关键字:标准 JSDoc 是否      更新时间:2023-09-26

我知道JSDoc有各种风格。 似乎 JSDoc 解析器的每个实现都识别自己的一组标记。 例如,考虑 http://usejsdoc.org/和 http://www.techrepublic.com/blog/programming-and-development/create-useful-relevant-javascript-documentation-with-jsdoc/451 之间的标记差异。

在这一点上,我只是困惑。 是否有 JSDoc 的规范实现或一组广泛认可的核心标记? JSDoc有最好的实现吗?


编辑

正如下面的评论中所问的,这个问题的原因是我需要解析 JSDoc 注释以用于我们正在创建的工具。 看到这个问题":有没有用Javascript编写的开源JSDoc解析器?

担心我将不得不滚动我自己的解析器,如果我这样做,我需要知道需要支持哪些标签。

但是,在更深层次上,我担心没有一致的规范(或参考实现)。 这让JSDoc对我来说有点特别

我认为功能最完整的是谷歌闭包编译器使用的那个

使用 google 闭包编译器的一个很酷的事情是,它将对标有类型信息的函数进行类型检查。

感受到你的痛苦,我整天都在处理这件事。这是一个非标准功能的示例,我必须对其进行编码/文档。Ext-JS 使用@cfg来记录您传递给小部件的初始化对象的属性。我使用的IDEIntelliJ使用JSDoc提供更好的代码建议,它甚至可以理解Ext的方言。对于大多数事情,它运行良好。但是,很多时候我必须以某种方式复制文档以使我的 IDE 和文档工具(Ext 的 jsdoc 版本)都能理解它,而不是很干燥。 下面是一个例子:

...
/** 
 * @cfg {string} title // Ext-JS grabs the type from this line
 * @type string // My IDE grabs the type from this line
 */
 title: null // My IDE requires this line to recognize the cfg
             // as a property of the object even though all cfgs
             // are available in the object
...

我也和你一样痛苦。 令人讨厌的是,这不是标准化的。 虽然我同意Juan Mendes先生的观点,即闭包编译器的功能是最完整的(也可能是最棒的!),

我一直认为这里找到的标签列表 http://code.google.com/p/jsdoc-toolkit/w/list 是我们最接近真实规范的东西。 它可能已经过时了,但它仍然可能更接近许多解析器和 IDE 实现的内容,比闭包编译器更接近。

另请参阅维基百科,了解关于应该存在哪些标签的最低限度共识。 http://en.wikipedia.org/wiki/JSDoc

不过,如果您的产品支持 JSDoc 的闭包编译器风格,这将使它更接近成为事实上的标准。 :D