Episode 55: Getting Started With Refactoring Your Python Code
The Real Python Podcast
Apr 09, 2021 58m
Do you think it’s time to refactor your Python code? What should you think about before starting this task? This week on the show, we have Brendan Maginnis and Nick Thapen from Sourcery. Sourcery is an automated refactoring tool that integrates into your IDE and suggests improvements to your code.
Episode Sponsor:
Nick and Brendan provide advice on how to start refactoring and setting achievable code objectives. We discuss setting up unit testing and building confidence that you aren’t changing your code’s fundamental meaning. We also talk about technical debt and how it can creep into your organization’s projects.
Course Spotlight: Python Booleans: Leveraging the Values of Truth
In this course, you’ll learn about the built-in Python Boolean data type, which is used to represent the truth value of an expression. You’ll see how to use Booleans to compare values, check for identity and membership, and control the flow of your programs with conditionals.
Topics:
- 00:00:00 – Introduction
- 00:01:31 – What is refactoring?
- 00:03:19 – How is it connected to extensibility?
- 00:04:33 – What are methods for preparing your code?
- 00:05:35 – Being confident you are not changing the meaning of the code
- 00:09:34 – Refactoring as you go
- 00:11:16 – What is technical debt, how is it generated?
- 00:19:08 – Sponsor: Digital Ocean
- 00:19:45 – Code metrics
- 00:23:32 – Holding code in your head, and design patterns
- 00:28:03 – Comments in code and function definitions
- 00:35:04 – Automated refactoring
- 00:39:34 – Using a code formatter
- 00:43:19 – Video Course Spotlight
- 00:44:27 – Team decisions around refactoring
- 00:47:41 – Examples where refactoring made a difference
- 00:51:56 – A few additional notes about Sourcery
- 00:52:59 – What is something you are excited about in the world of Python?
- 00:55:21 – What do you want to learn next?
- 00:56:20 – Thanks and goodbye
Show Links:
- Sourcery.ai - Write Better Code Faster
- Episode 49: The Challenges of Developing Into a Python Professional
- Black - The uncompromising code formatter
- Effective Python Testing With Pytest - Real Python Article
- PEP 636 – Structural Pattern Matching: Tutorial
- Announcing Pylance: Fast, feature-rich language support for Python in Visual Studio Code
- Episode 28: Using Pylance to Write Better Python Inside of Visual Studio Code
- The Scala Programming Language
- PEP 572 – Assignment Expressions
- Assignment Expressions: The Walrus Operator - Real Python Video Lesson
- Starlette: The little ASGI framework that shines
- FastAPI framework, high performance, easy to learn, fast to code, ready for production
- Refactoring: Prepare Your Code to Get Help - Real Python Code Conversation