Я потратил немало времени, пытаясь найти интернет, ищущий лучший способ правильно документировать обратные вызовы с помощью jsdoc, но, к сожалению, я еще не нашел отличный.
Вот мой вопрос:
Я пишу библиотеку Node.js для разработчиков. Эта библиотека предоставляет несколько классов, функций и методов, с которыми будут работать разработчики.
Чтобы сделать мой код понятным и понятным, а также (надеюсь) автоматически создать некоторую документацию API в будущем, я начал использовать jsdoc в моем коде для самообучения, что происходит.
Скажем, я определяю функцию, подобную следующей:
function addStuff(x, y, callback) {
callback(x+y);
});
Используя jsdoc, я в настоящее время документирую эту функцию следующим образом:
/**
* Add two numbers together, then pass the results to a callback function.
*
* @function addStuff
* @param {int} x - An integer.
* @param {int} y - An integer.
* @param {function} callback - A callback to run whose signature is (sum), where
* sum is an integer.
*/
function addStuff(x, y, callback) {
callback(x+y);
});
Мне кажется, что вышеупомянутое решение является своеобразным hack-ish, так как нет никакого способа указать в абсолютном выражении то, что должна принять функция обратного вызова.
В идеале я хотел бы сделать что-то вроде:
/**
* Add two numbers together, then pass the results to a callback function.
*
* @function addStuff
* @param {int} x - An integer.
* @param {int} y - An integer.
* @param {callback} callback - A callback to run.
* @param {int} callback.sum - An integer.
*/
function addStuff(x, y, callback) {
callback(x+y);
});
Вышеприведенное кажется, что это позволило бы мне более просто передать то, что мой callback должен принять. Это имеет смысл?
Я думаю, мой вопрос прост: какой лучший способ четко документировать мои функции обратного вызова с помощью jsdoc?
Спасибо за ваше время.