Zetknąłem się z tą techniką programowania podczas wywiadu z programowaniem par i nie mogłem znaleźć jej nazwy w Google.
Chodzi o to, że najpierw piszesz wyrażenie, które używa zmiennych, a następnie piszesz kod, który oblicza zmienne później.
Aby użyć przykładowego kodu tutaj:
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;
}
Pisząc tę funkcję za pomocą wspomnianej wcześniej techniki, należy najpierw napisać ostatni wiersz, return hasExpectedPrefix && followedBy7Digits && hasLengthOf12;
a następnie 3 poprzedzające go wiersze.
Najbliższą techniką, jaką mogłem znaleźć, jest „myślenie życzeniowe”, które pochodzi z SICP, ale dotyczy to wywoływania funkcji, które zamierzasz zaimplementować później, zamiast używania zmiennych, które później zainicjujesz.