Estilo y Formato como Comunicación
El formato del código es un acto de comunicación — estructura los archivos para que cualquier desarrollador pueda navegar en segundos.
La Metáfora del Periódico
Piensa en un archivo fuente bien estructurado como en un artículo de periódico. En la parte superior encuentras el titular y los puntos clave: API pública, funciones exportadas. A medida que bajas, el detalle aumenta: helpers privados, implementación. Un lector debe entender el propósito del módulo en las primeras 20 líneas, sin necesidad de profundizar en la implementación.
Detalle privado arriba
function _validateEmailFormat(email):
return "@" in email
function _hashPassword(password):
return hash(password)
function registerUser(name, email, password): // ← hard to find
...
API pública primero
function registerUser(name, email, password):
if not _isValidEmail(email):
raise ValueError("Invalid email")
return {
name: name,
password: _hashPassword(password),
}
// ── Private helpers ──────────
function _isValidEmail(email): ...
function _hashPassword(password): ...
Apertura Vertical y Densidad
Las líneas en blanco son los saltos de párrafo del código. Úsalas para separar conceptos: imports de la declaración de clase, métodos entre sí. No añadas líneas en blanco dentro de una lógica que pertenece junta — el código denso señala acoplamiento estrecho.
Sin espacio para respirar
import FileSystem
import Platform
class UserService:
db=null
function find(id):
return db.query(id)
function save(user):
db.insert(user)
Líneas en blanco separan conceptos
import FileSystem
import Platform
class UserService:
db = null
function find(userId):
return db.query(userId)
function save(user):
db.insert(user)
Formato Horizontal
Mantén las líneas por debajo de los 120 caracteres — las líneas largas obligan al scroll horizontal y ocultan la estructura. La indentación es el contrato visual que indica a los lectores qué código pertenece a dónde. Nunca luches contra el formateador acordado por tu equipo (black, prettier, eslint). El estilo personal es irrelevante en un entorno de equipo.
160+ chars, scroll horizontal
function calculateOrderTotal(order, user, discountService, taxService, currencyConverter, targetCurrency):
return currencyConverter.convert(taxService.apply(discountService.apply(order.subtotal, user.tier), order.region), targetCurrency)
Dividido en pasos legibles
function calculateOrderTotal(
order, user,
discountService, taxService,
currencyConverter,
targetCurrency,
):
subtotal = discountService.apply(
order.subtotal, user.tier)
withTax = taxService.apply(
subtotal, order.region)
return currencyConverter.convert(
withTax, targetCurrency)
Desafío de Código
Formatea Este Desorden — aplica la metáfora del periódico, añade líneas en blanco y rompe la línea larga.
💡Conclusión clave
El formato no es cosmético — es el lenguaje visual que usas para comunicar la estructura al próximo desarrollador.
🔧 Algunos ejercicios pueden tener errores. Si algo parece incorrecto, usa el botón Feedback (abajo a la derecha) para reportarlo — nos ayuda a corregirlo rápido.
Pista: Piensa en un periódico: titular primero, detalles abajo. Pon la función pública al inicio, los ayudantes privados debajo. Luego añade una línea en blanco donde mentalmente *haces una pausa* al leer — esa pausa marca un límite conceptual.
✗ Tu versión