我在采访中进行结对编程时遇到了这种编程技术,但在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;
,然后写在它前面的三行。
我能找到的最接近的技术是“如意算盘”,它来自SICP,但是与调用您稍后要实现的函数有关,而不是使用您稍后要初始化的变量。