Ho un semplice esempio di due configurazioni dello stesso blocco di codice, ma non sono sicuro di quale sarebbe l'opzione "migliore", anche se soggettiva, ho letto di metodi che spesso fanno troppo di quanto descrivono.
Quindi l'esempio è dove voglio aggiungere dati e fare un controllo di sanità mentale prima ... le due scelte sarebbero:
public void Add(Data data)
{
if(sanitycheck(data))
{
// ADD to list
}
}
La seconda opzione - questa separa la logica in 2 metodi:
public void Process(Data data)
{
if(sanitycheck(data))
{
Add(data);
}
}
private void Add(Data data) //private method
{
// ADD to list
}
Mi sembra che il primo faccia "più di quello che dice", ma il secondo potrebbe non essere necessario e tagliare i metodi un po 'troppo sottili per il loro scopo.
Questo esempio è crudo rispetto alle situazioni della vita reale, ma sono curioso che generalmente è un approccio più intelligente e una procedura ottimale in quanto la complessità del codice aumenta?