2013-04-05 28 views
11

Attualmente sto giocando con Backbone/Marionette (anche se la domanda è più generale), e ho un sacco di codice che "invia messaggi" su tutta l'applicazione. Per fare un esempio, qualcosa di simile:Qual è un buon modo per documentare sub/pub?

vent.on("search:start", function() {...}); 
vent.trigger("search:start"); 

Ma non ho nulla di buono modo per rintracciare (documento), che messaggi/chiamate sono disponibili all'interno di un'applicazione.

Quindi la mia domanda è: qual è un buon modo per documentare questo (sotto/pub)?

Suppongo che (anche se non ne ho trovato uno) potrebbe esserci uno strumento che ti consentirà di aggiungere commenti (stile Javadoc) e genererà qualcosa di più o meno ragionevole.

+0

check out YUI doc - http://yui.github.com/yuidoc/ – imrane

risposta

0

Forse si potrebbe usare JS-Signals?

+1

Questo è un pub/sub attuazione; OP ha chiesto una raccomandazione su come _documentare le sottoscrizioni disponibili. – Mathletics

7

La mia raccomandazione sarebbe quella di avere un unico grande signals.eventConstants. È un oggetto il cui unico scopo è tenere un elenco di stringhe che vengono inserite nell'abbonato o nell'editore come la cosa a cui si sta pubblicando o sottoscrivendo.

Così, invece di fare

vent.on("search:start", function() {...}); 
vent.trigger("search:start"); 

Fareste

vent.on(signals.eventConstants.searchStart, function() {...}); 
vent.trigger(signals.eventConstants.searchStart); 

Allora avete un posto centrale in cui è possibile verificare la presenza di tutti i tuoi argomenti di pubblicazione/sottoscrizione di trasmissione, e se si vuole cambiare il nome di loro, o aggiungere più tardi, hai un posto da controllare in modo da non creare trasmissioni identiche.

All'interno di signals.eventConstants è possibile anche documentare lo scopo di ciascun segnale con i commenti.

questo modo ci sono qualcosa come

//This broadcast will fire when a search is started 
Problemi correlati