Sono solo uno sviluppatore junior ma in circa una mezza dozzina di progetti su cui ho lavorato c'è sempre questa situazione:
Metodi di servizio che prendono come oggetti grandi oggetti, ma spesso ne usano solo una piccola porzione. Lasciatemi provare a chiarire con un po 'di codice:
class WorkforceService {
public void assignEmployeeToWorkplace(Workplace wp, Employee emp) {
//this method just checks couple things that
//may prevent assigning that employee to that workplace
//if everything's ok employee is assigned
}
}
Difficoltà che ho con la situazione:
-
Se provo a testare questo metodo, ho bisogno di creare un posto di lavoro completo e un oggetto dipendente. Questi contengono molti altri membri e dati, che possono o non possono essere rilevanti per questo metodo.
-
Revisione. A un certo punto mi verrà chiesto di verificare queste chiamate di metodo. Questi grandi parametri rendono difficile automatizzare il controllo, non posso semplicemente serializzarli e scriverli in un log perché sono grandi e contengono dati irrilevanti per il metodo. Devo selezionare manualmente i dati che devo salvare.
Mi sto chiedendo questi:
1) Dovrebbe essere così?
2) In caso negativo, dov'è il problema? Questi oggetti sono inutilmente grandi e il metodo di servizio è ok, o è un errore del metodo di servizio e in qualche modo dovrebbe richiedere solo ciò di cui ha realmente bisogno?