spaghetti code
Unmaintainable software mess
Spaghetti code is computer code that's tangled and difficult to follow—like a plate of intertwined pasta.
The term describes programs with convoluted logic, excessive jumps between sections, or poor structure that makes understanding and maintaining the code a nightmare: I inherited this spaghetti code and can't figure out what anything does.
The opposite is clean, well-organized code.
Twisted confusedly together
- interwovenLaced through one another
- intertwinedTwisted together, connected
- knottedTied with loops
- enmeshedCaught in complexity
labyrinthine · convoluted · twisted · snarled · nested · interdependent · coupled · entwined
Awkward but functional solution
- hackShortcut or breach
- workaroundMakeshift bypass of difficulty
- band-aidAdhesive strip for cuts
- duct tapeStrong cloth-backed adhesive strip
magic numbers · copy-paste · quick fix · bodge · shortcut · hotfix
Lacking imposed order
- chaoticTotally without arrangement
- haphazardLacking organization or plan
- jumbledDisordered, lacking arrangement
- scatteredSpread irregularly about
random · patchwork · inconsistent · ad hoc · misnamed · sloppy · careless · slipshod
Obscure in meaning
- incomprehensibleImpossible to understand
- indecipherableImpossible to understand
- obscureUnknown to most
- opaqueImpassable to light
inscrutable · obfuscated · unclear · confusing · illegible · unintelligible · undocumented · uncommented
Liable to shatter
- fragileEasily broken or damaged
- technical debtAccumulated coding shortcuts
- untestableCannot be proven false
- hardcodedPermanently set in software
monolithic · rigid · inflexible · unscalable · side effects · regression · breakage · unfixable
tangled
Twisted confusedly together
- interwovenLaced through one another
- intertwinedTwisted together, connected
- knottedTied with loops
enmeshed · labyrinthine · convoluted · twisted · snarled · nested · interdependent · coupled · entwined · branching
kludge
Awkward but functional solution
- hackShortcut or breach
- workaroundMakeshift bypass of difficulty
- band-aidAdhesive strip for cuts
duct tape · magic numbers · copy-paste · quick fix · bodge · shortcut · hotfix
unstructured
Lacking imposed order
- chaoticTotally without arrangement
- haphazardLacking organization or plan
- jumbledDisordered, lacking arrangement
scattered · random · patchwork · inconsistent · ad hoc · misnamed · sloppy · careless · slipshod · disarray
cryptic
Obscure in meaning
- incomprehensibleImpossible to understand
- indecipherableImpossible to understand
- obscureUnknown to most
opaque · inscrutable · obfuscated · unclear · confusing · illegible · unintelligible · undocumented · uncommented · gibberish
brittle
Liable to shatter
- fragileEasily broken or damaged
- technical debtAccumulated coding shortcuts
- untestableCannot be proven false
hardcoded · monolithic · rigid · inflexible · unscalable · side effects · regression · breakage · unfixable · irreparable
- software developmentprogramming, bug, debug, debugging, algorithm
- Nerd Humorerror messages, Schrodinger's cat, stack overflow, infinite loop, rubber duck
- programmingvariables, functions, for, function, debugger
- antipatternstechnical debt, cargo cult, golden hammer, silver bullet, over-engineering
- code problemstech debt, technical debt, bugs, hacks, cruft
- software maintenancedebugging, refactoring, bug fixes, patching, hotfix