Nel mio progetto nodejs, ho funzioni come questa per socketio.
socket.on('draw', function (data) {
socket.broadcast.to(socket.room).emit('draw', data);
addEvent(socket, ["draw", data]);
});
Mi piacerebbe riscriverli a qualcosa di simile:
function onDraw(socket, config) {
return function (data) {
socket.broadcast.to(socket.room).emit('draw', data);
addEvent(socket, ["draw", data]);
}
}
socket.on('draw', onDraw(socket, config));
L'idea è che inserendo tutte le mie funzioni in semplici chiusure come questa, posso inserirle in moduli diversi e renderà più facile il test passando gli oggetti mockup alla funzione che costruisce il callback.
Mi chiedevo se fosse eccessivo o se esistesse un modo migliore per rendere il mio codice testabile?