Encontré esta técnica de programación mientras hacía programación de pares en una entrevista y no pude encontrar el nombre en google.
La idea es que primero escriba la expresión que usa las variables y luego escriba el código que computa las variables más adelante.
Para usar un 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 utilizando la técnica que mencioné, primero escribiría 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 "ilusiones" y eso es de SICP, pero se relaciona con las funciones de llamada que implementará más tarde en lugar de usar variables que va a inicializar más tarde.