2013-06-11 13 views
5

synchronicznych funkcji getter, konwencja nazewnictwa jest dobrze zdefiniowana:konwencja nazewnictwa dla asynchronicznego getter

var getFerby = function(){ 
    .. 
    return ferby; 
}; 

Jednakże, jeśli ferby chcę nie jest lokalnie (synchronicznie) dostępny, wspólna metoda polega na tym poradzić sytuacja z zwrotnego:

/** 
* Asynchronously gets a ferby and passes it to the callback. 
* 
*  Once the ferby is retrieved, these rules MUST be followed: 
*  1) Don't feed it after midnight. 
*  2) Don't give it water. 
*  3) Don't let it near bright light. 
* 
* @param {ferbyCallback} callback - The callback function that expects a ferby. 
*/ 
var fooFerby = function(callback){ 
    getFerbyLoader().load(function(ferby){ 
     callback(ferby); 
    }); 
}; 

/** 
* The callback for the fooFerby function. 
* 
* @callback ferbyCallback 
* @param ferby The ferby 
*/ 

Co to jest dobry konwencja nazewnictwa fooFerby tak, że wiem, o nazwie, że oczekuje wywołania zwrotnego?

+0

lubię getFerbyCB, _getFerby, cbGetFerby lub getFerbyAsync ... – dandavis

+0

@dandavis Dzięki za sugestie. Osobiście lubię przedrostki, więc wystarczy spojrzeć na przód nazwy, aby uzyskać ogólne wyczucie funkcji, więc '_getFerby' i' cbGetFerby' będą kandydatami do tego. Patrząc na [synonimy for get] (http://thesaurus.com/browse/get), niektórzy kandydaci to 'acquireFerbie',' grabFerby', 'obtainFerbie',' procureFerbie' lub (mój ulubiony) 'fetchFerby'' . Miałem nadzieję na półnormatywną konwencję nazewnictwa. – Briguy37

Odpowiedz

1

.NET używa BeginDoAction. Lubię to samo podejście w JavaScript. W twoim przypadku funkcja będzie miała postać beginGetFerby.

NodeJs przyjmuje konwencję, że większość metod jest asynchroniczna, a metody synchroniczne mają sufiks "Synchronizacji", np. doActionSync. Możesz zrobić coś odwrotnego i mieć przyrostek "Asynchroniczny", więc twoja funkcja będzie getFerbyAsync. Podoba mi się również to podejście.

3

Używam prefiksu "pobieranie" zamiast "get" dla asynchronicznych modułów pobierających.

Chodzi o to, że jeśli nie jest dostępny lokalnie, musisz go pobrać.

Powiązane problemy