最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - Naming convention for asynchronous getter - Stack Overflow

matteradmin6PV0评论

For synchronous getter functions, the naming convention is well-defined:

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

However, if the ferby I want is not locally (synchronously) available, a mon method is to handle that situation with a 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
 */

What is a good naming convention for fooFerby so that I know by name that it expects a callback?

For synchronous getter functions, the naming convention is well-defined:

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

However, if the ferby I want is not locally (synchronously) available, a mon method is to handle that situation with a 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
 */

What is a good naming convention for fooFerby so that I know by name that it expects a callback?

Share Improve this question asked Jun 11, 2013 at 14:43 Briguy37Briguy37 8,4223 gold badges35 silver badges53 bronze badges 2
  • i like getFerbyCB, _getFerby, cbGetFerby, or getFerbyAsync... – dandavis Commented Jun 11, 2013 at 15:14
  • @dandavis Thanks for the suggestions. Personally, I like the prefixes so you only have to look at the front of the name to get the general feel for the function, so _getFerby and cbGetFerby would be candidates for that. Looking at synonyms for get, some more candidates are acquireFerbie, grabFerby, obtainFerbie, procureFerbie, or (my personal favorite) fetchFerby. I was hoping for a semi-standardized naming convention for this. – Briguy37 Commented Jun 11, 2013 at 15:40
Add a ment  | 

2 Answers 2

Reset to default 5

I use the prefix "fetch", instead of "get" for asynchronous getters.

The idea is that if it is not locally available, you need to fetch it.

.NET uses BeginDoAction. I like the same approach in JavaScript. So in your case, the function would be beginGetFerby.

NodeJs takes the convention that most methods are asynchronous, and the synchronous methods have a 'Sync' suffix, e.g. doActionSync. You could do the opposite, and have an 'Async' suffix, so your function would be getFerbyAsync. I like that approach too.

Post a comment

comment list (0)

  1. No comments so far