Encontré esta técnica de programación mientras realizaba la programación de pares en una entrevista y no pude encontrar el nombre en google.
La idea es que primero escribas la expresión que usa las variables y luego escribes el código que computa las variables más adelante.
Para usar algún código de ejemplo aquí:
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;
}
Al escribir esta función usando la técnica que mencioné, primero escribirías la última línea return hasExpectedPrefix && followedBy7Digits && hasLengthOf12;
y luego las 3 líneas que la preceden.
La técnica más cercana que pude encontrar es la "ilusión" y eso es de SICP, pero se relaciona con las funciones de llamada que implementará más adelante en lugar de usar las variables que inicializará más adelante.