关于 javascript:如何 jsdoc 注释 BackboneJS 代码? | 珊瑚贝

How to jsdoc annotate BackboneJS code?


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

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

1
2
3
4
5
6
7
8
9
10
11
12
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。


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

1
2
3
4
5
6
7
8
9
10
11
12
13
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

  • 谢谢,这正是我想要的。


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

(我们使用 require.js。)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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;
});


来源:https://www.codenong.com/6438800/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_8927.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?