Co je teorie těstovin programování?
Teorie těstovin programování má co do činění se složitostí různých programovacích struktur. Stejně jako těstoviny přicházejí v mnoha různých velikostech a tvarech, totéž platí pro programovací kód. V teorii těstovin se jako barevný obrázek používá určitý typ těstovin k identifikaci některých aspektů spojených s konkrétní sadou programovacích protokolů.
Jedním z vynikajících příkladů teorie těstovin programování je špagetový kód. Vařené špagety se často používají jako soubor pramenů, které se kříží a prolínají mezi sebou. Je prakticky nemožné extrahovat jeden pramen špaget, aniž by docházelo k určitému stupni narušení ostatních pramenů.
S tímto typem teorie těstovin se rozumí, že programové úsilí je poněkud náhodou a chaotické. Programovací kód má jen malou nebo žádnou skutečnou strukturu. Konečným výsledkem je, že pokus o úpravu kódu spojeného s jednou částí sekvence často vytváří neočekávané problémy s jinou částí kódu. Výsledkem je, že kód špaget je nesmírně obtížně srozumitelný z hlediska logického vývoje a stejně obtížný je upravit bez vytváření nových problémů.
Naopak, teorie těstovin programování se může také vztahovat na programování, které je vysoce strukturované. Jeden příklad tohoto typu teorie je známý jako laserový kód. Lasagne je vrstvená těstovinová mísa s přísadami uváženě a důsledně umístěnými mezi vrstvami nudlí lasagne. Konečným výsledkem je těstovinový talíř, který je rovnoměrný a snadno se rozdělí na identifikovatelné složky.
Když teorie těstovin nebo programování používá termín lasagna kód k označení programovacího úsilí, upozorňuje na logiku a pořadí, které se zdá, že řídí celou strukturu příslušného kódu. Je možné upravit části kódu, aniž by se později při zpracování kódu vytvořila neočekávaná reakce. Logický průběh a sekvenování jsou znaky laserového kódu, což je opakem chaotičtějšího špagetového kódu.
Koncept teorie těstovin programování se obvykle připisuje Raymondovi Rubeyovi. V dopise, který napsal v odborném časopise v roce 1992, použil Rubey terminologii týkající se ravioli a špaget, aby poukázal na programovací strategie a situace. Obecná myšlenka na teorii těstovinového programování zachytila a brzy různé programovací metody začaly být označovány mnoha programátory pomocí různých typů těstovin. V některých případech výběr názvů těstovin ukázal na prospěšné atributy daného přístupu programovacího kódu, zatímco jiné odkazovaly na metody programování, které byly považovány za méně efektivní a strukturované