I've started to use wrapping anonymous function in my NodeJS express modules lately as it somehow helps me write cleaner code.
However I'm not sure if this is considered bad/good practice in the Node environment (maybe some debugging/optimization issues?), it is extensively used by Coffeescript so I guess it must be OK, is it?
Express Controller example:
module.exports = (function() {
function LinksController() {}
var moment = require('moment'),
_ = require('underscore'),
Q = require('q');
LinksController.edit = function edit(req, res, next) {
...
}
return LinksController;
})();
There's nothing technically wrong with doing this, but it's completely unnecessary.