Я натрапив на цю техніку програмування, виконуючи парне програмування в інтерв'ю, і не зміг знайти ім'я в Google.
Ідея полягає в тому, що спочатку ви пишете вираз, який використовує змінні, а потім ви пишете код, який згодом обчислює змінні.
Щоб використовувати тут якийсь приклад коду:
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;
}
Коли ви писали цю функцію, використовуючи техніку, яку я згадав, ви спершу напишете останній рядок, return hasExpectedPrefix && followedBy7Digits && hasLengthOf12;а потім напишіть 3 рядки, які передують їй.
Найближча методика, яку я міг би знайти, - це "бажане мислення", і це від SICP, але це стосується виклику функцій, які ви збираєтеся реалізувати пізніше, а не використання змінних, які ви збираєтеся ініціалізувати пізніше.