Home Page

Refactoring by Martin Fowler

Amazon Affiliate link
Amazon raw link

Martin Fowler’s Refactoring: Improving the Design of Existing Code is more heavy focused on object oriented programming than will typically be useful for a Python codebase, but it is still valuable for its practical approach to code. Instead of comparing grand high-level architectures, its habit is to explain a pattern by starting down in the weeds of a tangled example and then finding an incremental way forward that keeps the code running while making stepwise improvements to its organization.

The :sect:`Null objects` pattern is the only one to which this Python Patterns site so far makes reference, but the book can still be recommended as a solid classic that has helped many readers get traction with an existing codebase and develop habits that makes even their own code easier to maintain and understand.