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);
});
コールバック関数が何を受け入れるかを絶対的に指定する方法がないため、上記のソリューションはちょっとハックっぽい気がします。
理想的には、次のようなことをしたいと思います:
/**
* 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);
});
上記は、コールバックが受け入れる必要があるものをより簡単に伝えることができるように思えます。それは理にかなっていますか?
私の質問は単純だと思います.jsdocでコールバック関数を明確に文書化する最良の方法は何ですか?
お時間をいただきありがとうございます。