Domanda

Sono in particolare riferendo a funzione JavaScript anonima, ma questo potrebbe essere rilevante per altre lingue. Mi piace usare notazioni JSDoc nei miei script perché so le altre persone saranno di hacking al prima o poi. Quando ho abbastanza complessa funzione anonima come fa la gente documentano in modo che esso si fa prendere da Eclipse e altri IDE che capiscono di JSDoc o JavaDoc notazioni?

/**
 * Blah Blah blah
 *
 * @param Object Blah blah blah
 * @return Blah Blah Blah
 * @type Object
 */
function foo(this) {
......
this.bar = function () { ... complex code .....};
......
return obj;
}

Grazie

È stato utile?

Soluzione

Idealmente una funzione anonima deve essere breve e eseguire un compito semplice. Quindi ... la funzione esterna che contiene dovrebbe fornire la documentazione necessaria.

Se questo non è il caso si dovrebbe probabilmente estrarre la funzione anonima fuori in una funzione chiamata, e quindi correttamente documentarlo.

Altri suggerimenti

Questo non è davvero una funzione anonima. Ha un nome. Il nome è "bar", o, più specificamente, "foo.bar". Ciò che questo è davvero, a mio modo di pensare, è un letterale funzione. A mio modo di pensare, una vera funzione anonima è una funzione che in realtà non ha un nome, come un argomento per un'altra funzione:

var intervalId = setTimeout(function() { // statements }, 1000);

Ora, secondo David Flanagan in Javascript: "creato con il costruttore Function ()" The Definitive Guide , una funzione anonima è uno che è Si copre le sue scommesse lì, però, perché egli prosegue inoltre affermando che tali funzioni siano solo "qualche volta" chiamato anonimo.

Perché sono sollevato la questione qui? Perché penso che se si dispone di un nome per qualcosa, non può davvero essere chiamata anonima. E penso che il termine "anonimo" rispetto alle funzioni Javascript è ambigua nella migliore delle ipotesi, e dovrebbe almeno essere chiarita da qualcuno da qualche parte.

Rendendo non anonima.

I trovare il modo migliore per documentare qualcosa è di non farlo. variabile bene quello che voglio dire che io uso i nomi / funzione e codice chiaro come il mio documento.

Quindi in questo caso vorrei solo creare una funzione statica che crea che anonimo e quindi posso dare quella funzione statica un buon name.it

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top