2013-06-11 17 views
5

Đối với chức năng getter đồng bộ, quy ước đặt tên là rõ ràng:ước đặt tên cho getter không đồng bộ

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

Tuy nhiên, nếu ferby tôi muốn không phải là cục bộ (đồng bộ) có sẵn, một phương pháp phổ biến là để xử lý mà tình hình với một callback:

/** 
* 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 
*/ 

một quy ước đặt tên tốt cho fooFerby là gì vì vậy mà tôi biết bằng cái tên đó nó hy vọng một callback?

+0

tôi thích getFerbyCB, _getFerby, cbGetFerby hoặc getFerbyAsync ... – dandavis

+0

@dandavis Cảm ơn bạn đã đề xuất. Cá nhân, tôi thích các tiền tố, do đó bạn chỉ cần nhìn vào mặt trước của tên để có được cảm giác chung cho hàm, vì vậy '_getFerby' và' cbGetFerby' sẽ là ứng viên cho điều đó. Xem [synonyms for get] (http://thesaurus.com/browse/get), một số ứng cử viên khác là 'obtainFerbie',' grabFerby', 'obtainFerbie',' procureFerbie', hoặc (yêu thích cá nhân của tôi) 'fetchFerby' . Tôi đã hy vọng cho một quy ước đặt tên tiêu chuẩn hóa cho việc này. – Briguy37

Trả lời

1

.NET sử dụng BeginDoAction. Tôi thích cách tiếp cận tương tự trong JavaScript. Vì vậy, trong trường hợp của bạn, hàm sẽ là beginGetFerby.

NodeJs thực hiện quy ước rằng hầu hết các phương thức đều không đồng bộ và các phương thức đồng bộ có hậu tố 'Đồng bộ hóa', ví dụ: doActionSync. Bạn có thể làm ngược lại, và có hậu tố 'Async', vì vậy chức năng của bạn sẽ là getFerbyAsync. Tôi cũng thích cách tiếp cận đó.

3

Tôi sử dụng tiền tố "tìm nạp", thay vì "lấy" cho getters không đồng bộ.

Ý tưởng là nếu nó không có sẵn tại địa phương, bạn cần tìm nạp nó.

Các vấn đề liên quan