04.09.2021 - By Real Python
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.
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
Level up your Python skills with our expert-led courses:
Python Booleans: Leveraging the Values of Truth
Test-Driven Development With pytest
Python Debugging With pdb
Support the podcast & join our community of Pythonistas