We all heard about spaghetti code. It’s code that has a twisted, tangled, complex and hard to follow structure. Like a bowl of spaghetti.
I was pleased to learn that the term spaghetti code spawned other pasta-related terms.
Spaghetti With Meatballs Code
“[…] loosely constructed object-oriented programming (OOP) that remains dependent on procedural code. It may be the result of a system whose development has transitioned over a long life-cycle, language constraints, micro-optimization theatre, or a lack of coherent coding standards.”
“[…] thousands of little classes everywhere and no one knows how to find the places where things really happen.”
Raymond J. Ruby would disagree with this negative view of ravioli code. He says “The ideal software structure is one having components that are small and loosely coupled; this ideal structure is called ravioli code.”
“Lasagna code is a type of program structure, characterized by several well-defined and separable layers, where each layer of code accesses services in the layers below through well-defined interfaces. The term is in comparison with spaghetti code, comparing program structure to pasta.”
“[…] code that uses a mixture of computer languages in a single document.”
This one seems to strongly apply to web development.
“[…] marketer-driven programming with a spin to make bad code look good (coined by Simon Sunatori)”
“[…] an attempt to conceal true nature of the code by appearance of complexity in order to provide an advantage over competitors (coined by François Sunatori)”
Cous Cous Code
“This tends to happen in Forth programming. You end up with lots of tiny little modules, not organized into classes, but still modularized so that it is not.”