Cover of Refactoring by Martin Fowler, Kent Beck - Business and Economics Book

From "Refactoring"

Author: Martin Fowler, Kent Beck
Publisher: Addison-Wesley Professional
Year: 1999
Category: Computers

🎧 Free Preview Complete

You've listened to your free 10-minute preview.
Sign up free to continue listening to the full summary.

🎧 Listen to Summary

Free 10-min Preview
0:00
Speed:
10:00 free remaining
Chapter 1: Refactoring: A First Example
Key Insight 3 from this chapter

Principles of Incremental Function Decomposition

Key Insight

The process of refactoring a lengthy function begins by identifying distinct logical chunks of behavior within it. For example, a `switch` statement that calculates charges for a single performance is a prime candidate for extraction. This identification process translates understanding about the code, which is initially volatile and resides in the developer's mind, into a persistent form within the code itself, ensuring clarity for future developers.

To externalize a code chunk, the 'Extract Function' refactoring is applied, transforming it into its own named function, such as `amountFor(aPerformance, play)`. This involves carefully analyzing variables within the extracted fragment: those used but not modified become parameters (e.g., `perf`, `play`), while modified variables are initialized within the new function and returned (e.g., `thisAmount`). After extraction, the original function calls this new one.

Renaming variables and parameters within the new function is a crucial step for enhancing clarity, for instance, changing `thisAmount` to `result` or `perf` to `aPerformance`. Good variable names are fundamental to communicative code, making the function's purpose immediately apparent without needing to examine its internal logic. This continuous refinement, along with the 'compile-test-commit' rhythm after each small change, is essential to minimize errors and maintain a working state, accelerating development by preventing complex debugging sessions.

📚 Continue Your Learning Journey — No Payment Required

Access the complete Refactoring summary with audio narration, key takeaways, and actionable insights from Martin Fowler, Kent Beck.