Mi sono imbattuto in questa tecnica di programmazione mentre eseguivo la programmazione delle coppie in un'intervista e non ho trovato 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 un secondo momento.
Per utilizzare 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 menzionato, devi prima scrivere l'ultima riga return hasExpectedPrefix && followedBy7Digits && hasLengthOf12;
e poi scrivere le 3 linee che precedono.
La tecnica più vicina che ho potuto trovare è "wishful thinking" e viene da SICP ma si riferisce alle funzioni di chiamata che implementerete successivamente piuttosto che usare le variabili che verranno inizializzate in seguito.