Code Refactoring
Purpose
Improve code structure, readability, and maintainability without changing its external behavior or functionality.
When to Use
- •Code is hard to understand or modify
- •Duplicated code exists
- •Functions are too long or complex
- •Code smells are present
- •Preparing for new features
Key Capabilities
- •Extract Method - Break long functions into smaller pieces
- •Rename - Improve variable/function names for clarity
- •Remove Duplication - Consolidate repeated code
Approach
- •Identify code that needs improvement
- •Ensure tests exist before refactoring
- •Make small, incremental changes
- •Run tests after each change
- •Commit working states frequently
Example
Before:
python
def process(data):
result = []
for item in data:
if item > 0 and item < 100 and item % 2 == 0:
result.append(item * 2)
return result
After:
python
def is_valid_even_number(n):
return 0 < n < 100 and n % 2 == 0
def process(data):
valid_numbers = filter(is_valid_even_number, data)
return [n * 2 for n in valid_numbers]
Best Practices
- •✅ Always have tests before refactoring
- •✅ Make small, incremental changes
- •✅ Run tests after each change
- •❌ Avoid: Refactoring and adding features simultaneously