SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Video accessible from your Account page after purchase.
Register your product to gain access to bonus material or receive a coupon.
"This video lesson is really nice. It summarizes TDD for Python developer. It is easy to understand and he shows a few really cool hacks."---romanfunk, O'Reilly Online Learning Reviewer
4+ Hours of Video Instruction
With more than 4 hours of video instruction, learn how to refactor effectively in the Python programming language, gain all the basics to begin improving and simplifying your software designs, and refactor mercilessly.
Overview
In Refactoring in Python LiveLessons, Bryan Beecham shows developers how to recognize problems in their code, how to make needed changes to create high-quality software that can be rapidly developed, and how to refactor effectively in the Python programming language.
Refactoring is at the core of software improvement, giving structure and purpose on how to make software better. Changes to the code make it easier to understand, easier to modify, and easier to add new code.
Although refactoring is not new, software developers might struggle with how to do it properly. As Agile grows, concepts such as DevOps push to have high-quality and welI-designed code to allow for faster deployment and feedback. Much of the existing documentation on refactoring is in Java. By creating these examples in Python, it provides more fitting help for the large and growing Python workforce.
Skill Level
Lesson 1: Refactoring Fundamentals
Learning objectives
1.1: Understand the concept of refactoring
1.2: Learn where refactoring comes from
1.3: Understand why we refactor
1.4: Learn when to stop refactoring
1.5: Understand technical debt
1.6: Learn how Return on Investment (ROI) impacts refactoring
1.7: Understand the risks of refactoring without tests
1.8: Learn the importance of saving your work
1.9: Refactor in a pythonic way
Lesson 2: Recognizing Issues in Your Code
Learning objectives
2.1: Understand how comments can help and hurt you
2.2: Spot the overuse of conditionals
2.3: Review examples of confusing names
2.4: Understand the dangers of large code blocks
2.5: Find negative logic in your code
2.6: Understand the dangers of using too many parameters
2.7: Understand why multiple returns can be a sign of issues
2.8: Understand how duplication can be harmful to your code
2.9: Understand the dangers of inconsistency
2.10: Find similar patterns
2.11: Find examples of poor formatting
2.12: Identify what a code smell is
2.13: Spot zombie code
2.14: Learn how to remove clutter, complexity, and cleverness
Lesson 3: Common Refactoring Techniques
Learning objectives
3.1: Review types of refactoring
3.2: Introduce the main refactoring techniques
3.3: Use the Rename technique
3.4: Use the Move technique
3.5: Use the Extract technique
3.6: Use the Inline technique
3.7: Learn other refactoring techniques
Lesson 4: Refactoring Examples
Learning objectives
4.1: Apply refactoring through the use of programming katas
4.2: Build the program FizzBuzz
4.3: Build the Roman Numerals kata
4.4: Create a bowling game - Part 1
4.5: Create a bowling game - Part 2
4.6: Refactor the Gilded Rose program: Find the code smells
4.7: Refactor the Gilded Rose program: Create the test suite
4.8: Refactor the Gilded Rose program: Improve the code - Part 1
4.9: Refactor the Gilded Rose program: Improve the code - Part 2
4.10: Refactor the Gilded Rose program: Add new functionality
Lesson 5: Inside Refactoring
Learning objectives
5.1: Understand the concept of inside refactoring
5.2: Prepare your software for a beneficial change
5.3: Improve your software
5.4: Clean your software so the next change can occur
5.5: Review an example of inside refactoring
Lesson 6: The Benefits of Working with Others
Learning objectives
6.1: Understand how the practice of Pair Programming can improve your refactoring skills
6.2: Understand how mob programming and group refactoring efforts can improve your software
Lesson 7: The Role of Testing in Refactoring
Learning objectives
7.1: Recognize the importance of creating tests for refactoring
7.2: Understand how to refactor to improve your testing
7.3: Understand how refactoring works with Test Driven Development (TDD)
Summary