Learn English – the opposite of decoupled (computer science)

antonymscomputing

The image of decoupled (two train cars separated) is clear. In computer science, writing "decoupled" code is a Good Thing, it implies breaking code into discrete pieces that can be tested independently, but put together easily.

What would be the opposite, in this context? Coupled is an obvious answer, but that seems to be more the fact of pieces being put together. I'm looking for something that represents bad design, such that pieces are too tightly integrated and can't be split apart.

Monolithic is the best I can come up with, but isn't great. Monolithic could be something that can/should be broken up, but could also mean something that can't/shouldn't be broken up. I'd ideally like something that is unambiguously negative, if possible.

Best Answer

I had considered suggesting spaghetti coding as accurately characterising something which was hugely entangled and not easily disentangled, but I found that it appears as part of an even better term.

Jeff Attwood quoted a 1997 paper by Brian Foote and Josef Yoder:

The architecture that actually predominates in practice is the Big Ball of Mud.

A Big Ball of Mud is haphazardly structured, sprawling, sloppy, duct-tape and bailing wire, spaghetti code jungle. We've all seen them. These systems show unmistakable signs of unregulated growth, and repeated, expedient repair. Information is shared promiscuously among distant elements of the system, often to the point where nearly all the important information becomes global or duplicated. The overall structure of the system may never have been well defined. If it was, it may have eroded beyond recognition. Programmers with a shred of architectural sensibility shun these quagmires. Only those who are unconcerned about architecture, and, perhaps, are comfortable with the inertia of the day-to-day chore of patching the holes in these failing dikes, are content to work on such systems.

"Big Ball of Mud" and "spaghtetti coding" are unambiguously negative and rather pejorative; calling something "entangled" is probably a diplomatic understatement.

Related Topic