El problema es que diferentes personas usan el término "código de ravioles" para significar cosas diferentes.
Un número razonable de componentes razonablemente pequeños es bueno. Una enorme pila de pequeños componentes sin una estructura general aparente no es tan buena.
Los componentes ligeramente acoplados son buenos. Los componentes que ocultan sus interdependencias para parecer vagamente combinados no son tan buenos.
Ser capaz de ver la relación entre los diferentes componentes es realmente una buena cosa.
La mayoría de las bases de código tienen el problema opuesto, por lo que moverse hacia una mayor modularidad suele ser algo bueno. Espero que la mayoría de la gente nunca haya visto el "código de ravioles" en el mal sentido. En la práctica, tiende a parecerse más a ravioles picados (donde lo que debería ser un módulo se divide en múltiples "módulos", ninguno de los cuales tiene sentido por sí solo, pero solo en combinación con sus otras partes correspondientes), o como raviolis cocinado sin suficiente agua (por lo que terminas con una gran cantidad de "módulos").
TODO: Escriba un programa "Hello world" como ~ 100 módulos para demostrar la sobremodularidad.
TODO2: Intento construir un puente con cargas de camión de ravioles para demostrar características estructurales subóptimas.
¿quién dijo que esto era una mala práctica? El acoplamiento flojo es una buena cosa. – jldupont
Mi código no es frágil, es "al dente" :) – RedFilter
@jldupont, no creo que sea algo malo. Sin embargo, en el artículo de wikipedia sobre 'God Object' aparece como un opuesto * anti-pattern * –