Video description
In Video Editions the narrator reads the book while the content, figures, code listings, diagrams, and text appear on the screen. Like an audiobook that you can also watch as a video.
Down to earth, focused, and right on point. It will challenge you without intimidating you and without insulting your intelligence.
Robert C. Martin
In Five Lines of Code you will learn:
- The signs of bad code
- Improving code safely, even when you don’t understand it
- Balancing optimization and code generality
- Proper compiler practices
- The Extract method, Introducing Strategy pattern, and many other refactoring patterns
- Writing stable code that enables change-by-addition
- Writing code that needs no comments
- Real-world practices for great refactoring
Improving existing code—refactoring—is one of the most common tasks you’ll face as a programmer. Five Lines of Code teaches you clear and actionable refactoring rules that you can apply without relying on intuitive judgements such as “code smells.” Following the author’s expert perspective—that refactoring and code smells can be learned by following a concrete set of principles—you’ll learn when to refactor your code, what patterns to apply to what problem, and the code characteristics that indicate it’s time for a rework.
about the technology
Every codebase includes mistakes and inefficiencies that you need to find and fix. Refactor the right way, and your code becomes elegant, easy to read, and easy to maintain. In this book, you’ll learn a unique approach to refactoring that implements any method in five lines or fewer. You’ll also discover a secret most senior devs know: sometimes it’s quicker to hammer out code and fix it later!
about the book
Five Lines of Code is a fresh look at refactoring for developers of all skill levels. In it, you’ll master author Christian Clausen’s innovative approach, learning concrete rules to get any method down to five lines—or less! You’ll learn when to refactor, specific refactoring patterns that apply to most common problems, and characteristics of code that should be deleted altogether.
about the audience
For developers of all skill levels. Examples use easy-to-read Typescript, in the same style as Java and C#.
about the author
Christian Clausen works as a Technical Agile Coach, teaching teams how to refactor code.
A delightful and fun introduction to one of the most overlooked parts of programming—refactoring.
Charles Lam, EVN AG
Gave me new insights on how to keep my code readable and maintainable. I highly recommend it.
John Norcott, Webstaurantstore
These techniques are simple but powerful, and the exercises makes it easy to learn them. They can be used in any language I know!
Christian Hasselbalch Thoudahl, BEC Financial Technologies
NARRATED BY MARK THOMAS
Table of Contents
Chapter 1. Refactoring refactoring
Chapter 1. Culture: When to refactor?
Chapter 1. Overarching example: A 2D puzzle game
Chapter 2. Looking under the hood of refactoring
Chapter 2. Gaining speed, flexibility, and stability
Part 1. Learn by refactoring a computer game
Chapter 3. Shatter long functions
Chapter 3. Introducing a refactoring pattern to break up functions
Chapter 3. Breaking up functions to balancing abstraction
Chapter 3. Breaking up functions that are doing too much
Chapter 4. Make type codes work
Chapter 4. Refactoring pattern: Replace type code with classes
Chapter 4. Refactoring pattern: Push code into classes
Chapter 4. Refactoring a large if statement
Chapter 4. The only switch allowed
Chapter 4. Addressing code duplication
Chapter 4. Removing dead code
Chapter 5. Fuse similar code together
Chapter 5. Unifying simple conditions
Chapter 5. Unifying code across classes
Chapter 5. Refactoring pattern: Introduce strategy pattern
Chapter 5. Rule: No interface with only one implementation
Chapter 6. Defend the data
Chapter 6. Encapsulating simple data
Chapter 6. Refactoring pattern: Encapsulate data
Chapter 6. Eliminating a sequence invariant
Chapter 6. Remapping numbers to classes
Part 2. Taking what you have learned into the real world
Chapter 7. Collaborate with the compiler
Chapter 7. Strength: Access control helps encapsulate data
Chapter 7. Using the compiler
Chapter 7. Don’t fight the compiler
Chapter 7. Trusting the compiler
Chapter 8. Stay away from comments
Chapter 9. Love deleting code
Chapter 9. Technical waste from time pressure
Chapter 9. Deleting code in a legacy system
Chapter 9. Deleting branches in version control
Chapter 9. Deleting testing code
Chapter 9. Deleting code to get rid of libraries
Chapter 10. Never be afraid to add code
Chapter 10. Overcoming the fear of waste or risk with a fixed ratio
Chapter 10. How copy and paste effects change velocity
Chapter 10. Modification by addition through feature toggles
Chapter 11. Follow the structure in the code
Chapter 11. Expressing behavior in the structure of the data
Chapter 11. Gaining safety through testing
Chapter 11. Exploiting duplication with unification
Chapter 12. Avoid optimizations and generality
Chapter 12. Unifying things of similar stability
Chapter 12. Optimizing according to the theory of constraints
Chapter 12. Choosing good algorithms and data structures
Chapter 13. Make bad code look bad
Chapter 13. Rules for safely vandalizing code
Chapter 13. Grouping things based on naming
Chapter 14. Wrapping up
Chapter 14. Prioritizing the team over individuals