Extract Method
- Problema: Fragmento de código que puede agruparse.
- Solución: Extraer el fragmento a un método separado.
- Code Smells que resuelve: Método Largo, Comentarios Explicativos, Duplicación
def render_report(data):
# Imprimir encabezado
print("=== REPORT ===")
print(f"Date: {datetime.now().strftime('%Y-%m-%d')}")
print(f"Total Items: {len(data)}")
print("=============")
# Procesar datos
total = 0
for item in data:
total += item['amount']
print(f"{item['name']}: ${item['amount']}")
# Imprimir resumen
print("=============")
print(f"Total: ${total}")
print("=== END ===")
def render_report(data):
print_header(data)
total = process_items(data)
print_footer(total)
def print_header(data):
print("=== REPORT ===")
print(f"Date: {datetime.now().strftime('%Y-%m-%d')}")
print(f"Total Items: {len(data)}")
print("=============")
def process_items(data):
total = 0
for item in data:
total += item['amount']
print(f"{item['name']}: ${item['amount']}")
return total
def print_footer(total):
print("=============")
print(f"Total: ${total}")
print("=== END ===")