Wat is de pastatheorie van programmeren?
De pastatheorie van programmeren heeft te maken met de complexiteit van verschillende programmeerstructuren. Net zoals pasta in veel verschillende maten en vormen verkrijgbaar is, geldt hetzelfde voor de programmeercode. Met een pastatheorie wordt een bepaald type pasta gebruikt als een kleurrijke illustratie om enkele aspecten te identificeren die verband houden met een bepaalde set programmeerprotocollen.
Een uitstekend voorbeeld van een pastatheorie van programmeren is de spaghetti-code. Gekookte spaghetti wordt vaak geserveerd als een verzameling strengen die elkaar kruisen en met elkaar verweven zijn. Het is praktisch onmogelijk om een streng spaghetti te extraheren zonder de andere strengen enigszins te verstoren.
Met dit soort pastatheorie wordt begrepen dat de programmeerinspanning enigszins toevallig en chaotisch is. Er is weinig of geen echte structuur van de programmeercode. Het eindresultaat is dat het proberen om de code te wijzigen die aan een deel van de reeks is gekoppeld, vaak onverwachte problemen met een ander deel van de code veroorzaakt. Als gevolg hiervan is een spaghetti-code uiterst moeilijk te begrijpen in termen van logische progressie en even moeilijk aan te passen zonder nieuwe problemen te creëren.
De pastatheorie van programmeren kan daarentegen ook verwijzen naar programmeren die zeer gestructureerd is. Een voorbeeld van dit soort theorie staat bekend als de lasagne-code. Lasagne is een gelaagde pastaschotel, met ingrediënten die doelbewust en consistent tussen de lagen lasagne-noedels worden geplaatst. Het eindresultaat is een pastaschotel die overal uniform is en gemakkelijk kan worden opgesplitst in identificeerbare componenten.
Wanneer de pastatheorie of -programmering de term lasagna-code gebruikt om te verwijzen naar een programmeerinspanning, wordt de logica en volgorde onder de aandacht gebracht die de hele structuur van de betrokken code lijken te beheersen. Het is mogelijk om delen van de code te wijzigen zonder ergens later in de codeverwerking een onverwachte reactie te veroorzaken. Logische progressie en sequencing zijn kenmerken van een lasagne-code, waardoor deze het tegenovergestelde is van de meer chaotische spaghetti-code.
Het concept van de pastatheorie van programmeren wordt typisch toegeschreven aan Raymond Rubey. In een brief die hij in 1992 aan een vakblad schreef, gebruikte Rubey terminologie met betrekking tot ravioli en spaghetti om te verwijzen naar programmeerstrategieën en situaties. Het algemene idee van een pastatheorie van programmeren kreeg snel door en al snel begonnen verschillende programmeermethoden te worden gelabeld door verschillende programmeurs die verschillende soorten pasta gebruikten. In sommige gevallen wees de selectie van pastanamen op voordelige attributen van een bepaalde programmeercode-aanpak, terwijl anderen verwezen naar programmeermethoden die als minder efficiënt en gestructureerd werden beschouwd