Notes On Beautiful Python Refactoring Video

Computer-Programming
Refactoring
Author

Galen Seilis

Published

October 22, 2023

This post is just some notes I took while watching the following video:

ITM Antipattern The initialize then modify (ITM) antipattern is where something is initialized outside a loop and then it is modified in the loop. For change 1 we used enumerate, and for change 2 we used a list comprehension.

Redundant Comments - Remove redundant comments. - Redundant comments just restate the literal command.

Index ITM - Initializing index outside of a loop and then incrementing it inside the loop. - Solution: Use enumerate.

Deprecated Print Statements - Delete any print statements that are no longer needed.

List Comprehensions - Replace for loops with list comprehensions when the list comprehension itself will be readable.

Deprecated Control Flow - Delete control flow (if/elif/else) that won’t be relevant to future use cases.

Iterable Slicing - Use slicing instead of looping over an iterable when the location of the target information is reliable.

Changes 6 and 7 we have seen above.

Try/Except/Pass - Remove try <type_cast> except pass patterns. - Replace with a conditional expression <type_cast> if <condition> else <other>.

Specialized Libraries - Use existing tools designed for the task instead of maintaining your legacy code.

Some principles: 1. Know your algorithms 2. Know your collections 3. Know your libraries

Some useful features mentioned in the Python Bytes podcast: - list comprehensions - generator expressions - slice assignment - iterable unpacking