Ich bin auf diese Programmiertechnik gestoßen, als ich in einem Interview eine Paarprogrammierung durchgeführt habe, und konnte den Namen bei Google nicht finden.
Die Idee ist, dass Sie zuerst den Ausdruck schreiben, der die Variablen verwendet, und dann den Code, der die Variablen später berechnet.
Um hier einen Beispielcode zu verwenden:
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;
}
Wenn Sie diese Funktion mit der von mir erwähnten Technik schreiben, schreiben Sie zuerst die letzte Zeile return hasExpectedPrefix && followedBy7Digits && hasLengthOf12;
und dann die 3 Zeilen davor.
Die nächste Technik, die ich finden könnte, ist "Wunschdenken", und das stammt von SICP, bezieht sich jedoch auf das Aufrufen von Funktionen, die Sie später implementieren werden, anstatt Variablen zu verwenden, die Sie später initialisieren werden.
quelle
Antworten:
Es ist nur eine Variation der funktionalen Zusammensetzung.
Zeuge:
Der einzige wirkliche Unterschied besteht darin, dass Ihre Version die berechneten Ergebnisse der kleineren Funktionen in einem einzigen Funktionsumfang kombiniert. Dies ist genau das, was Sie möchten, es sei denn, die kleineren Funktionsausdrücke sollen an anderer Stelle wiederverwendet werden.
quelle
Dies könnte nur ein Vorschlag von Clean Code (dem Buch) sein, der verwendet werden sollte, wenn die Funktionale Zerlegung (wie von Robert erklärt) nicht anwendbar ist, da die daraus resultierenden Funktionen nicht für sich allein wiederverwendbar sind.
Wenn Sie jedoch technische Informationen benötigen , nennt das Buch Implementation Patterns von Kent Beck diese Technik als Explaining Local Variables (Schwerpunkt Mine):
quelle