【问题标题】:How to jsdoc annotate BackboneJS code?jsdoc如何注释BackboneJS代码?
【发布时间】:2011-09-20 07:04:48
【问题描述】:

有没有人用 JSDoc 记录过 BackboneJS 代码?

我在注释 Backbone 结构时遇到问题,例如:

User = Backbone.Model.extend({

    defaults: { a: 1 },

    initialize: function () {
        // ...
    },

    doSomething: function (p) {
        // ...
    }
});

任何建议表示赞赏。谢谢。

【问题讨论】:

  • 因为 JSDoc 是 JavaDoc 的移植。所以它不是为 JavaScript 设计的。使用docco
  • @Raynos 一般来说你是对的,但是 JSDoc 仍然有一个巨大的好处:它可以让你在 IDE 中自动完成。
  • @GeorgiyIvankin 您向我展示了一个 IDE,它具有完全工作的自动完成功能,并且对于复杂的 JavaScript 项目没有错误信息然后我会认为这是一个“好处”。我还没有找到任何这样的 IDE
  • @Raynos 例如,在JSDT 中,您可以这样做:jspaste.com/?id=305 当然,事情并不像 Java 那样完美,但是这个例子中显示的内容已经大大简化了在单独文件中包含大量 js 的大型项目的工作。

标签: javascript backbone.js jsdoc


【解决方案1】:

chris_b 的回答对我有很大帮助,包括示例和链接。不过,我不得不删除@class 注释,否则它会为该类生成两个条目。此外,我添加这个答案是为了展示如何注释静态类成员(类级常量)。

(我们使用 require.js。)

define([
    'jquery', 'lodash', 'backbone'
], function($, _, Backbone) {
    "use strict";

    /**
     * Enumeration of constants that represent the different types of Hedgehogs.
     * @memberof models/Hedgehog
     * @enum {string}
     * @readonly
     */
    var types = { 'type1': 'Type 1', 'type2': 'Type 2' };

    var Hedgehog = Backbone.Model.extend(
    /** @lends models/Hedgehog.prototype */
    {
        /**
         * This is the model for Hedgehogs.
         *
         * @augments external:Backbone.Model
         * @constructs
         */
        initialize: function() {
            // your code
        },

        // some more methods
    }, {
        // static class members
        "types": types
    });
    return Hedgehog;
});

【讨论】:

    【解决方案2】:

    如果你说的是 JSDoc Toolkit,我认为它的工作原理是这样的:

    User = Backbone.Model.extend(
    /** @lends User.prototype */
     {
      /**
       * @class User class description
       *
       * @augments Backbone.Model
       * @constructs
       *
       * Text for the initialize method
       */
        initialize: function() {}
    })
    

    重要的是@lends标签的位置!

    这可能有点棘手,但如果这不起作用,请尝试其他一些示例:http://code.google.com/p/jsdoc-toolkit/wiki/CookBook

    【讨论】:

    • 谢谢,这正是我想要的。
    猜你喜欢
    • 2019-07-03
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 2017-05-25
    • 1970-01-01
    • 2019-05-29
    相关资源
    最近更新 更多