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.
programming-practices
usuario2108462
fuente
fuente
Respuestas:
Es solo una variación de la composición funcional.
Testigo:
La única diferencia real es que su versión combina los resultados calculados de las funciones más pequeñas en un solo alcance funcional, que es lo que desea a menos que las expresiones funcionales más pequeñas estén destinadas a ser reutilizadas en otro lugar.
fuente
Esto podría ser solo una sugerencia de Clean Code (el libro), que se utilizará cuando la descomposición funcional (como explicó Robert) no sea aplicable debido a que las funciones resultantes no son reutilizables por sí mismas.
Sin embargo, si desea obtener información técnica al respecto, el libro Implementation Patterns , de Kent Beck, nombra esta técnica como Explicando las variables locales (énfasis mío):
fuente