_JSDoc和x27的最佳实践;将Javascript文件写入;“显示模块模式”;风格
我的大多数Javascript函数都相对简单,并因其副作用而被调用:我使用jQuery操作DOM或进行Ajax调用。我更喜欢用“显示模块模式”风格编写函数 我认为JSDoc注释Javascript文件有一个好处:在的帮助下,Eclipse的JS开发工具可以解析我的JS文件和(否则将是空的) 现在我想知道注释的优点或良好实践是什么?我不习惯 谷歌指南介绍了一些关于JSDoc的内容: 建议仅使用可用标记的子集,以及其他建议 现在,我提出了这个模板(这段代码没有任何用处):_JSDoc和x27的最佳实践;将Javascript文件写入;“显示模块模式”;风格,javascript,eclipse,documentation,documentation-generation,jsdoc,Javascript,Eclipse,Documentation,Documentation Generation,Jsdoc,我的大多数Javascript函数都相对简单,并因其副作用而被调用:我使用jQuery操作DOM或进行Ajax调用。我更喜欢用“显示模块模式”风格编写函数 我认为JSDoc注释Javascript文件有一个好处:在的帮助下,Eclipse的JS开发工具可以解析我的JS文件和(否则将是空的) 现在我想知道注释的优点或良好实践是什么?我不习惯 谷歌指南介绍了一些关于JSDoc的内容: 建议仅使用可用标记的子集,以及其他建议 现在,我提出了这个模板(这段代码没有任何用处): /** *@fileOve
/**
*@fileOverview对js文件说些有意义的话。
*@作者
*@version 1.0.1
*/
/**
*@namespace名称空间包含什么或哪些应用/网页使用它
*/
如果(!window['my']['namespace']){
窗口['my']['namespace']={};
my.namespace=(函数(){
/**
*文档字符串。。。
*@memberOf window.my.namespace
*@私人
*/
var clear=function(){};
/**
*文档字符串。。。
*@memberOf window.my.namespace
*@公众
*/
函数删除成功(数据){
var str=“#受影响的文件:”+data.length;
$('').html(str).appendTo('#del_0b');
$('').html(data.result).appendTo('del#u sf');
}
//更多代码
返回{
“方法1”:方法1,
“删除成功”:删除成功
};
})();//我的名字空间
}//如果结束,则结束
我应该在这里使用JSDoc标记@function还是@memberOf,或者两者都使用?
@field标签呢?
return子句也应该使用JSDoc吗?有哪些标签?
我真的不应该使用@public标签吗?我觉得它在这里很有用
有什么建议吗?
有人知道一个好的、实用的JSDoc风格的小项目指南吗 如果您正在寻找代码示例,我发现最好的地方是在。我在那里的运气比在谷歌搜索要好得多,如果你问一个问题,他们通常会很乐意帮忙 我不能支持Eclipse,但有一个新版本的jsdoc。查看文档。这有点不完整,但我知道他们已经编写了更新并准备好进行审查,所以他们应该很快会有所改进
关于您关于
@function
和@memberof
的具体问题,您可能希望使用@function
,而不是@memberof
来编写简单的函数文档。在Eclipse中@memberof
(大写字母O)对大纲(Ctrl+O快捷键)起作用。我主要在Eclipse大纲中使用JSDoc,但在人类中也使用了@author
)
我还在私有函数上使用@private
IMHO还可以,但不是很有帮助,它最近没有太大的发展。
您应该使用Eclipse JSHint插件或将TypeScript与Eclipse插件一起使用(您可以进行重构,但会增加一些复杂性)。对于我(Eclipse 4.3开普勒),以下功能很好:
my.namespace.foo.AbstractClass = {
/** @memberOf my.namespace.foo.StaticClass <- this statement already
* fixes the Eclipse Outline and Package Views for all other members
*/
staticMethod1 : function() { /* ... */ },
/** no need to add some JSDoc here for the Outline etc. */
staticMethod2 : function() { /* ... */ }
}
my.namespace.foo.AbstractClass={
/**@memberOf my.namespace.foo.StaticClass你还有什么发现吗?似乎@memberOf
是唯一一个对大纲视图有任何作用的标记。我没有得到@module
或@namespace
。虽然这些名称很做作,但它们并没有任何作用。@Redsandro:没有,对不起,是的,但在reveling模块模式中,这些函数是my.namespaced.object的方法,因此也可以使用memberOf。同时,我使用任何使结构的某些内容出现在Eclipse的大纲视图中的方法。无论如何,这个问题并不要求解决我眼前的问题,这个问题的范围更长远。
my.namespace.foo.AbstractClass = {
/** @memberOf my.namespace.foo.StaticClass <- this statement already
* fixes the Eclipse Outline and Package Views for all other members
*/
staticMethod1 : function() { /* ... */ },
/** no need to add some JSDoc here for the Outline etc. */
staticMethod2 : function() { /* ... */ }
}