Правильный способ документирования проекта с несколькими типами объектов - PullRequest
0 голосов
/ 03 октября 2018

Я работаю над проектом, в котором есть несколько файлов, каждый из которых содержит определение класса или объект.Все является членом глобального объекта.Структура выглядит примерно так:

main.js
lib/
 - module1.js
 - module2.js
  ...
 - moduleN.js

main.js выглядит примерно так:

/**
 * Main object
 */
var APP = {};

Например, module1.js - это определение класса:

/**
 * Class1
 */
APP.Class1 = class {
  constructor(args) {
    ...
  }

  /**
   * This method does something
   * @param args
   * @return something
   */
  someMethod(args) {
     ...
     return something
  }
}

Но иногда у меня есть один подобный объект (например, module2.js):

/**
 * Object2
 */
APP.Object2 = (function() {
    var somePrivateVar = 1;

    return {
        /**
         * Some method
         * @param arg
         * @returns something
         */
        someMethod: function(arg) {
            ...
            return something;
        }
    }
})();

Я хочу задокументировать это, и я только что нашел инструмент jsdoc, который кажется довольно стандартным и с большим количествомфункций.

Мой вопрос: какова наилучшая практика (если таковая имеется) для документирования такого проекта?Jsdoc обнаруживает только класс, не добавляя ничего лишнего.Кроме того, в сгенерированной jsdoc странице APP находится в разделе Global, но класс разделен на Classes.Это не должно быть под APP?

...