*Un solo archivo: *
Desventaja:
Su carga es algo más lenta en el navegador
Su mantenimiento es engorroso para otros programadores. Es muy complicado hacer un seguimiento de todo el código. Imaginemos que tenemos unas 100 a 200 funciones, estas ocuparían unas 2.000 a 10.000 líneas de código en el editor. Imaginemos que complicado es poder identificar una función, que es lo que hace y luego intentar regresar al punto donde esta es llamada. Un problemas bastante grande.
Agota mentalmente al programador que intenta comprender que quiso hacer el creador de ese código.
Si el programador creador utiliza nombres parecidos a las etiquetas que hace referencia y a su vez utiliza el mismo nombre de variable en todas las funciones, esto genera más complejidad a la hora de comprender que está intentando hacer el programador creador de la aplicación.
Si se pierde el archivo, se perdería todo el código.
Varios programadores no pueden trabajar al mismos tiempo.
El tiempo de desarrollo es más lento, porque solo un programador puede trabajar a la vez.
Si una parte del código no funciona, probablemente afecte el funcionamiento de la aplicación en su totalidad.
Ventajas:
El código está en solo un archivo, lo que favorece su traslado.
*Múltiples archivos: *
Ventajas:
Es mucho más fácil su administración.
Fácil mantenimiento.
Escalable.
Funciones reutilizables.
Herencia.
Es más fácil pode compartir el código para que otros programadores puedan aportar código a la aplicación.
Se desarrollan con mayor velocidad una aplicación.
Cada programador puede subir su aporte a un controlador de versiones (Git) en el momento que lo desee sin perjudicar a otro programador.
Desventaja:
Si se pretende transportar en un dispositivo extraíble (pendriver), si un archivo no se copio en este dispositivo, cierta parte de la aplicación no funcionará. Pero se solucionará rápidamente con sumar el/los archivo/s que estaba faltando.
Estas son mis humildes observaciones que quería compartir con los estudiantes e instructores.