2.16 Refactoring to Single-Responsibility Functions
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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access