Così ci ho pensato, e non so se è incluso o meno in alcun metodo.
Penso che i vantaggi di questo stile di codifica siano che, al livello più basso, il codice è estremamente verificabile, e quindi anche i test di integrazione dovrebbero essere molto facili da costruire.
Penso anche che questo renderebbe il codice più leggibile e l'UML sarebbe compreso più velocemente.
Quindi ecco il mio esempio:
class CoolObject{
var member1; //needed for instance in lifecycle events
var member2; //same comment
//This method could be for instance an event handler
//Notice this contains only assignments and method calls. No library calls or lower level stuff
[public] method high_level(params...){
var local_var1;
var local_var2;
local_var1 = call method lower_level1(param1,param2);
local_var2 = call method lower_level2(param1, local_var1);
member1 = call method lower_level3(local_var2);
}
//Notice this contains only library calls and lower level processing
[private] method lower_level1(param1, param2){
return param1 + param2 + libraryXXY123.function142(current_date);
}
//Notice this contains only library calls and lower level processing
[private] method lower_level2(param1, param2){
var return_value;
loop over param2{
if(condition){
add param1 to return_value;
}
}
return return_value + libraryASDF123.function3132(system_user);
}
}
Si noti che questo non è scritto in alcuna lingua specifica, poiché volevo solo illustrare il concetto.
Quindi conosci alcune metodologie che usano questo o che ti mettono in guardia? Per favore, elabora la risposta, poiché ritengo che sarebbe una buona idea, e vorrei che fosse confermata, o il contrario.