Mi sono imbattuto in questa tecnica di programmazione durante la programmazione di coppia in un'intervista e non sono riuscito a trovarne il nome su Google.
L'idea è che prima scrivi l'espressione che usa le variabili e poi scrivi il codice che calcola le variabili in seguito.
Per usare un codice di esempio qui:
private bool ValidPolicyNumber(string policyNumber)
{
var hasExpectedPrefix = policyNumber.Substring(0,5) == "POLIC";
var followedBy7Digits = Regex.IsMatch(policyNumber.Substring(6,7), "^[0-9]{7}$");
var hasLengthOf12 = policyNumber.Length == 12;
return hasExpectedPrefix && followedBy7Digits && hasLengthOf12;
}
Quando scrivi questa funzione usando la tecnica che ho citato, prima scrivi l'ultima riga return hasExpectedPrefix && followedBy7Digits && hasLengthOf12;e poi le 3 righe che la precedono.
La tecnica più vicina che ho trovato è il "pio desiderio", che proviene dalla SICP, ma si riferisce alle funzioni di chiamata che verranno implementate in seguito anziché utilizzare le variabili che verranno inizializzate in seguito.