Saltar al contenido principal

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 ===")