Se c'è un codice che deve essere implementato su più controller (diciamo, 10), ad esempio:
// Inside a controller function
var myField = null;
var response = service.callBackend(function(){
// Other logic
// starts here
if (response) {
myField = {
name: response.name,
value: response.val,
access: access.READ,
};
};
// ends here
// Other logic
});
Qual è un approccio migliore? Per creare un myField
in ogni controller come un oggetto con il controllo di response
o estrarre la logica in una funzione separata?
function helper() {
return {
createReadonlyField: function(content) {
if (!content)
return null;
return {
name: content.name,
value: content.val,
access: access.READ
};
}
};
};
E poi in ogni controller chiameresti la funzione helper per costruire il campo:
// Inside a controller function (helper object is passed as Dependency Injection)
var myField = null;
var response = service.callBackend(function(){
// Other logic
myField = helper.createReadonlyField(response);
// Other logic
});
La leggibilità del codice è ridotta estraendola a una funzione?