Mi chiedo se ci sia stata qualche ricerca (sia casuale che robusta) sulla manutenibilità di progetti che usano il paradigma della "dichiarazione di sicurezza" rispetto al paradigma "exit point a singola funzione"?È disponibile una ricerca sulla manutenibilità del paradigma "guardia" rispetto al paradigma "uscita singola"?
Guardia esempio economico (in C#):
string GetSomeString()
{
if(necessaryConditionFails) { return null; }
if(!FunctionWithBoolReturn(someAttribute)) { return null; }
//all necessary conditions have been met
//do regular processing...
return finalStringValue;
}
solo esempio punto funzione exit (in C#):
string GetSomeString()
{
string valueToReturn = null;
if(necessaryConditionPasses && FunctionWithBoolReturn(someAttribute))
{
//all necessary conditions have been met
//do regular processing...
valueToReturn = finalStringValue;
}
return valueToReturn;
}
so i meriti e le mancanze di entrambi sono stati dibattuto all'infinito su SO , ma sto cercando un'effettiva ricerca sul modo in cui è possibile mantenere ogni paradigma *. Questo potrebbe essere sconosciuto, ma ho pensato che se le informazioni fossero là fuori, qualcuno su SO avrebbe saputo dov'era. Le mie ricerche sul Web non sono state finora riuscite.
** Sono anche consapevole del fatto che molti programmatori (incluso me) utilizzano entrambi i principi in tutto il codice, a seconda della situazione. Spero solo di scoprire quale ha una comprovata esperienza di maggiore manutenibilità da utilizzare come paradigma preferito. *
Dopo una lunga ricerca e data l'assenza di collegamenti a una ricerca approfondita nella risposta unica a questa domanda, sembra che non ci sia una ricerca accessibile pubblicamente sulla manutenibilità del codice scritto sotto un paradigma rispetto all'altro. – jball