October 2013
Intermediate to advanced
368 pages
9h 20m
English
The
encodedDigits
function continues to increase in complexity. We inserted blank lines in order to visually group related statements, a dead giveaway that a function does too much.
The
single responsibility principle
(SRP) tells us that each function should have one reason to change.[7]
encodedDigits
exhibits a classic violation of the SRP: it mixes high-level policy with implementation details.
Our
encodedDigits
function accomplishes its goal using a two-step algorithm. First append the encoded first letter to the encoding, and then iterate through the rest of the letters and append them. The problem is that
encodedDigits also includes the low-level details to accomplish those ...