Regla
Evite demasiado grandes demasiado grandes.
Los archivos archivos con múltiples responsabilidades
son difíciles de de mantener.
Idiomas admitidos: 45+Introducción
Los archivos que abarcan miles de líneas suelen manejar múltiples asuntos no relacionados, lo que dificulta la localización de una funcionalidad específica. Un archivo de 3000 líneas utils.js que contiene asistentes de validación, formateo de cadenas, manipulación de fechas y utilidades de API obliga a los desarrolladores a desplazarse por código no relacionado para encontrar lo que necesitan. Los archivos grandes también crean conflictos de fusión, ya que varios desarrolladores modifican diferentes secciones simultáneamente.
Por qué es importante
Mantenimiento del código: Los archivos de gran tamaño mezclan funciones no relacionadas, lo que obliga a los desarrolladores a comprender cientos de líneas de código irrelevante para modificar una función. Encontrar la lógica específica se convierte en un ejercicio de búsqueda en lugar de navegar hasta un archivo con el nombre adecuado.
Conflictos en el control de versiones: Cuando varios desarrolladores trabajan en distintas funciones en un mismo archivo de gran tamaño, se producen con frecuencia conflictos de fusión. Los archivos más pequeños y centrados permiten un desarrollo paralelo, ya que cada desarrollador trabaja en archivos independientes.
Eficacia de la revisión del código: La revisión de cambios en archivos grandes requiere más contexto. Los revisores deben entender cómo afectan las modificaciones a otro código no relacionado del mismo archivo. Los archivos más pequeños hacen evidente el alcance de los cambios, lo que acelera las revisiones.
Ejemplos de códigos
❌ No conforme:
// utils.js (1500+ líneas)
función validateEmail(correo electrónico) { /* ... */ }
función validarPhone(teléfono) { /* ... */ }
función formatDivisa(importe) { /* ... */ }
función formatDate(fecha) { /* ... */ }
función parseJSON(str) { /* ... */ }
función apiRequest(url) { /* ... */ }
función debounce(fn, retardo) { /* ... */ }
función acelerador(fn, límite) { /* ... */ }
// ... Más de 100 funciones no relacionadas
Por qué está mal: Un archivo masivo contiene utilidades de validación, formateo, análisis sintáctico, llamadas a la API y rendimiento. Encontrar debounce() requiere desplazarse por cientos de funciones no relacionadas. Varios equipos que modifican este archivo crean constantes conflictos de fusión.
✅ Conforme:
// validation/email.js
exportar función validateEmail(correo electrónico) { /* ... */ }
// validation/phone.js
exportar function validatePhone(teléfono) { /* ... */ }
// formato/moneda.js
exportar function formatearDivisa(importe) { /* ... */ }
// formato/fecha.js
exportar function formatDate(fecha) { /* ... */ }
// api/request.js
exportar function apiRequest(url) { /* ... */ }
// rendimiento/debounce.js
exportar función debounce(fn, retardo) { /* ... */ }
Por qué es importante: Cada función de utilidad en un archivo dedicado dentro de directorios categorizados. Encontrar debounce() significa navegar hasta rendimiento/debounce.js directamente. Los equipos que trabajan en diferentes utilidades no entran en conflicto porque están en archivos separados.
Conclusión
Mantenga los archivos por debajo de 500 líneas siempre que sea posible. Cuando los archivos superen esta cifra, busque responsabilidades distintas que puedan extraerse en módulos independientes. Organice los archivos relacionados en directorios para mantener la estructura y, al mismo tiempo, los archivos individuales centrados y fáciles de mantener.
.avif)
