Refactorizar: Renombrar variables y métodos
Ejemplo de refactorización usando la técnica Renombrar variables y métodos
Código sin refactorizar:
Python
def calcular_total_compra(productos):
"""
Calcula el total de una compra a partir de una lista de productos.
Args:
productos: Una lista de diccionarios que representan los productos.
Returns:
El total de la compra.
"""
total = 0
for producto in productos:
p = producto["precio"]
c = producto["cantidad"]
s = p * c
total += s
return total
def mostrar_factura(productos):
"""
Muestra la factura de una compra a partir de una lista de productos.
Args:
productos: Una lista de diccionarios que representan los productos.
"""
total = calcular_total_compra(productos)
print("Factura:")
for producto in productos:
p = producto["precio"]
c = producto["cantidad"]
s = p * c
print(f"- {producto['nombre']}: {c} x {p} = {s}")
print(f"Total: {total}")
Problemas del código sin refactorizar:
- Los nombres de las variables y métodos no son muy descriptivos.
- El código es difícil de entender, ya que no se utiliza una convención de nomenclatura consistente.
Refactorización utilizando la técnica Renombrar variables y métodos:
Python
def calcular_importe_total(productos):
"""
Calcula el importe total de una venta a partir de una lista de productos.
Args:
productos: Una lista de diccionarios que representan los productos vendidos.
Returns:
El importe total de la venta.
"""
total = 0
for producto in productos:
precio_unitario = producto["precio_unitario"]
cantidad_vendida = producto["cantidad_vendida"]
subtotal = precio_unitario * cantidad_vendida
total += subtotal
return total
def mostrar_detalle_venta(productos):
"""
Muestra el detalle de una venta a partir de una lista de productos vendidos.
Args:
productos: Una lista de diccionarios que representan los productos vendidos.
"""
importe_total = calcular_importe_total(productos)
print("Detalle de venta:")
for producto in productos:
precio_unitario = producto["precio_unitario"]
cantidad_vendida = producto["cantidad_vendida"]
subtotal = precio_unitario * cantidad_vendida
print(f"- {producto['nombre']}: {cantidad_vendida} x {precio_unitario} = {subtotal}")
print(f"Importe total: {importe_total}")
Beneficios de la refactorización:
- Los nombres de las variables y métodos son ahora más descriptivos y claros.
- El código es más fácil de leer y entender.
- Se ha utilizado una convención de nomenclatura consistente para mejorar la legibilidad del código.
En este ejemplo, la técnica Renombrar variables y métodos ha permitido mejorar la legibilidad y la comprensibilidad del código. Es importante utilizar nombres descriptivos y consistentes para las variables y métodos, ya que esto facilita la comprensión del código para cualquier desarrollador.
Comentarios
Publicar un comentario