Il problema è che persone diverse usano il termine "codice dei ravioli" per indicare cose diverse.
Un numero ragionevole di componenti ragionevolmente piccoli è buono. Un mucchio enorme di minuscoli componenti senza una struttura complessiva apparente non è così buono.
I componenti con accoppiamento lento sono buoni. I componenti che nascondono le loro interdipendenze per apparire vagamente accoppiati non sono così buoni.
Essere in grado di vedere la relazione tra diversi componenti è in realtà una buona cosa.
La maggior parte delle basi di codice presenta il problema opposto, quindi spostarsi verso una maggiore modularità di solito è una buona cosa. Mi aspetto che la maggior parte della gente non abbia mai visto "codice dei ravioli" in senso negativo. In pratica, tende ad assomigliare più a ravioli tritati (dove quello che dovrebbe essere un modulo è diviso in più "moduli" - nessuno dei quali ha senso da solo, ma solo in combinazione con le corrispondenti altre parti), o come i ravioli cucinato senza abbastanza acqua (così si finisce con un gigantesco blob di "moduli" tutti incollati insieme).
TODO: Scrivere un programma "Hello world" come ~ 100 moduli per dimostrare la sovramodularità.
TODO2: Tentativo di costruire un ponte con camion carichi di ravioli per dimostrare caratteristiche strutturali subottimali.
chi ha detto che era una cattiva pratica? Loose-coupling è una buona cosa. – jldupont
Il mio codice non è fragile, è "al dente" :) – RedFilter
@jldupont, non penso che sia una brutta cosa. Tuttavia, nell'articolo di wikipedia su "God Object" è elencato come opposto * anti-pattern * –