Primero necesitas código correcto y comprensible. Después aplicas convenciones para que su forma sea predecible: nombres familiares, espacios consistentes y bloques fáciles de escanear.
La prioridad de esta lección será: intención clara → estructura simple → formato consistente.
Mejorar nombres y estructura sin cambiar el comportamiento observable del programa.
Un nombre útil elimina comentarios que solo traducen abreviaturas
precio_unitario = 12 cantidad = 3 precio_total = precio_unitario * cantidad print(precio_total)
precio_total comunica mejor que pt o x qué representa el valor. Para variables y funciones, Python suele usar snake_case; para clases, PascalCase.
Los nombres no necesitan ser frases completas. Necesitan ser suficientemente precisos para su contexto.
Una función corta debería contar una sola historia
def tiene_envio_gratis(total):
return total >= 50
pedido_total = 72
if tiene_envio_gratis(pedido_total):
print("Envío gratis")La función no es mejor por ser corta; es mejor porque su nombre expresa una regla concreta. Si una función obliga a recordar muchas tareas distintas a la vez, dividir responsabilidades suele mejorar la lectura.
El formateador corrige forma; el linter señala patrones; ninguno diseña por ti
Herramientas como un formateador pueden decidir espacios y saltos de línea de manera automática. Un linter puede avisar sobre convenciones o posibles problemas. Eso libera atención para decisiones más importantes.
Pasar un formateador no convierte automáticamente un nombre confuso en uno claro ni una función enorme en un buen diseño. La herramienta ordena la superficie; tú sigues decidiendo la intención.
Los comentarios aportan contexto cuando explican el porqué
importe = 125.678 # El proveedor exige redondear antes de aplicar la comisión. base = round(importe, 2) comision = base * 0.03
Un comentario como # multiplica por 0.03 repetiría el código. En cambio, explicar una restricción externa ayuda a entender por qué esa línea existe.
Haz el código más claro sin cambiar lo que hace
def f(a, b):
x = a + b
return xdef sumar_precios(precio_a, precio_b):
total = precio_a + precio_b
return totalLa segunda versión no “hace más”. Reduce la cantidad de contexto que debes mantener en la cabeza.
Renombra la variable local x a total sin alterar el resultado de la función.
15
La salida aparecerá aquí.
Necesito una pista
- Cambia el nombre en la asignación y en el return.
- No necesitas inspeccionar internamente la función: basta comprobar que el comportamiento sigue siendo 15.
Ver una solución razonada
def sumar_precios(precio_a, precio_b):
total = precio_a + precio_b
return total
print(sumar_precios(10, 5))Recupera lo anterior · minuto 8
Una función falla solo para el valor límite y además cuesta entenderla por nombres como x y y. ¿Qué orden de trabajo reduce riesgo?
Comprobar
Primero escribe una prueba que reproduzca el límite, después depura con una hipótesis y cambio mínimo, y solo con el comportamiento protegido mejora nombres/formato sin alterar el resultado.
La meta de estilo es reducir fricción, no alcanzar perfección estética
- Elige nombres que expliquen el papel del dato o de la acción.
- Mantén cada bloque enfocado para que pueda leerse sin sostener demasiadas decisiones en la cabeza.
- Automatiza el formato repetitivo y reserva tu atención para el diseño.
puedes mejorar la legibilidad de un fragmento sin cambiar su comportamiento y explicar qué mejora concreta obtiene el lector.