Capítulo 12: Buenas Prácticas y Estilo de Código
La calidad del código no se mide solo por si funciona, sino por si es legible, mantenible y predecible. Este capítulo explora las buenas prácticas que distinguen a los desarrolladores profesionales.
12.1. Importancia del Estilo Consistente
El código se lee mucho más frecuentemente de lo que se escribe. Un estilo consistente facilita la colaboración y reduce errores.
// Inconsistente (difícil de leer)
let x=5; let y=10
if(x>y){console.log("x es mayor")}
// Consistente (fácil de leer)
let x = 5;
let y = 10;
if (x > y) {
console.log("x es mayor");
}12.2. Naming Conventions: camelCase
JavaScript usa camelCase como convención estándar:
// ✓ Variables y funciones: camelCase
let nombreUsuario = "Juan";
let edadEnAños = 30;
function calcularPromedio(notas) { }
function obtenerDatosDelServidor() { }
// ✓ Constantes: UPPER_SNAKE_CASE
const MAX_INTENTOS = 3;
const URL_BASE = "https://api.ejemplo.com";
// ✓ Clases: PascalCase (estudiaremos en POO)
class Usuario { }
class CalculadoraAvanzada { }
// Evitar
let usuario_nombre; // snake_case (Python style)
let NOMBRE; // Confunde con constante
let n, x, a; // Nombres crípticos12.3. Comentarios: Explicar el Porqué
Los comentarios deben explicar por qué haces algo, no qué estás haciendo (el código ya lo dice).
Tipos de comentarios
12.4. Indentación y Espaciado
12.5. Evitar Antipatrones Comunes
Antipatrón 1: Variables globales
Antipatrón 2: Uso de eval()
eval()Antipatrón 3: Condiciones complejas sin paréntesis
12.6. Herramientas: ESLint y Prettier
Estas herramientas automatizan el control de estilo:
12.7. Principios SOLID Adaptados a JavaScript
S: Single Responsibility
Una función debe tener una única responsabilidad:
O: Open/Closed
Abierto para extensión, cerrado para modificación:
L, I, D: Principios Avanzados (Próximos Temas)
Los tres principios restantes de SOLID requieren conceptos de Programación Orientada a Objetos que se estudiarán en detalle más adelante:
L (Liskov Substitution Principle): Los objetos de clases derivadas deben poder sustituir a objetos de sus clases base. Se trabaja en profundidad en temas de herencia y polimorfismo.
I (Interface Segregation Principle): Los clientes no deben depender de interfaces que no usan. Se estudia en temas de arquitectura de módulos y TypeScript.
D (Dependency Inversion Principle): Las dependencias deben invertirse desde implementaciones concretas hacia abstracciones. Se desarrolla en temas de inyección de dependencias y patrones de diseño.
Para ahora: Enfócate en dominar S y O. Estos principios te enseñarán a escribir funciones más limpias, modulares y fáciles de mantener, que es exactamente lo que necesitas en este nivel.
12.8. Lectura de Código de Calidad
Aprender leyendo código bien escrito es invaluable:
Proyectos open source en GitHub
Código de librerías populares (lodash, axios)
Repositorios didácticos en MDN Web Docs
Resumen del Capítulo
Las buenas prácticas y el estilo consistente transforman código funcional en código profesional. Invertir tiempo en escribir código limpio ahora ahorra debugging y mantenimiento después.
💡 Conceptos Clave:
camelCase: Convención estándar de nombres
Comentarios significativos: Explica el "porqué"
Indentación consistente: 4 espacios
Evitar antipatrones: var, eval(), condiciones confusas
Herramientas de linting: ESLint, Prettier
SOLID: Principios de buen diseño
Lectura activa: Aprender de código de calidad
🤔 Preguntas de Reflexión:
¿Por qué es importante el estilo de código en un equipo?
¿Cuál es la diferencia entre comentarios buenos y malos?
Da ejemplos de cuándo Single Responsibility mejora el código.
¿Cómo te ayudan herramientas como ESLint a escribir mejor código?
Refactoriza código existente aplicando estos principios.
Última actualización
¿Te fue útil?