Modifica: Questa è tecnicamente una domanda in 2 parti. Ho scelto la risposta migliore che copre la domanda in generale e collegata alla risposta che gestisce la domanda specifica.Il modo migliore per documentare oggetti anonimi e funzioni con jsdoc
Qual è il modo migliore per documentare oggetti anonimi e funzioni con jsdoc?
/**
* @class {Page} Page Class specification
*/
var Page = function() {
/**
* Get a page from the server
* @param {PageRequest} pageRequest Info on the page you want to request
* @param {function} callback Function executed when page is retrieved
*/
this.getPage = function(pageRequest, callback) {
};
};
Né l'oggetto PageRequest
o callback
esistono nel codice. Saranno forniti a getPage()
in fase di esecuzione. Ma mi piacerebbe essere in grado di definire cosa sono l'oggetto e la funzione.
posso ottenere via con la creazione dell'oggetto PageRequest
per documentare che:
/**
* @namespace {PageRequest} Object specification
* @property {String} pageId ID of the page you want.
* @property {String} pageName Name of the page you want.
*/
var PageRequest = {
pageId : null,
pageName : null
};
e va bene (anche se io sono aperto a modi migliori per farlo).
Qual è il modo migliore per documentare la funzione callback
? Voglio farlo conoscere nel documento che, per esempio, la funzione di callback è sotto forma di:
callback: function({PageResponse} pageResponse, {PageRequestStatus} pageRequestStatus)
Tutte le idee come fare questo?
Davvero pulito! Un ottimo modo per documentare i callback. – oligofren
Ma non vedo come funzioni per oggetti anonimi? Pronunciare un oggetto impostazioni che viene inviato in una funzione per creare un oggetto che non è visibile nell'ambito corrente. – oligofren
Se non si desidera utilizzare il tag '@ name' per dare un nome al proprio oggetto anonimo, descrivere l'oggetto dove è stato utilizzato, che sarebbe il corpo del tag' @ param' per l'esempio dell'oggetto impostazioni. – Eric