Co to jest teoria programowania makaronu?
Teoria makaronu programowania ma związek ze złożonością różnych struktur programowania. Podobnie jak makaron ma wiele różnych rozmiarów i kształtów, to samo dotyczy kodu programowania. W przypadku teorii makaronu określony rodzaj makaronu jest używany jako kolorowa ilustracja do identyfikacji niektórych aspektów związanych z określonym zestawem protokołów programowania.
Doskonałym przykładem teorii programowania makaronów jest kod spaghetti. Gotowane spaghetti jest często podawane jako zbiór pasm, które krzyżują się i przeplatają ze sobą. Praktycznie niemożliwe jest wyodrębnienie jednego pasma spaghetti bez powodowania pewnego zakłócenia innych pasm.
Z tego rodzaju teorią makaronu rozumie się, że wysiłek związany z programowaniem jest dość przypadkowy i chaotyczny. Kod programowania jest niewielki lub nie ma go wcale. Rezultatem końcowym jest to, że próba modyfikacji kodu związanego z jedną częścią sekwencji często stwarza nieprzewidziane problemy z inną częścią kodu. W rezultacie kod spaghetti jest niezwykle trudny do zrozumienia pod względem logicznego postępu i równie trudny do modyfikacji bez tworzenia nowych problemów.
Z kolei teoria programowania makaronów może również odnosić się do programowania o wysoce ustrukturyzowanej strukturze. Jednym z przykładów tego rodzaju teorii jest kod lasagna. Lasagna to wielowarstwowe danie z makaronem, którego składniki są umieszczone celowo i konsekwentnie między warstwami makaronu lasagna. Efektem końcowym jest jednolite danie z makaronem, które można łatwo podzielić na możliwe do zidentyfikowania składniki.
Kiedy teoria makaronu lub programowanie używa terminu kod lasagna w odniesieniu do wysiłku programowania, zwraca uwagę na logikę i porządek, który wydaje się rządzić całą strukturą zaangażowanego kodu. Możliwe jest modyfikowanie sekcji kodu bez powodowania nieprzewidzianej reakcji gdzieś później w trakcie przetwarzania kodu. Logiczny postęp i sekwencjonowanie to cechy charakterystyczne kodu lasagna, co czyni go przeciwieństwem bardziej chaotycznego kodu spaghetti.
Pojęcie teorii programowania makaronu zwykle przypisuje się Raymondowi Rubeyowi. W liście, który napisał do magazynu branżowego w 1992 r., Rubey użył terminologii związanej z ravioli i spaghetti w odniesieniu do strategii i sytuacji programowania. Ogólna idea teorii makaronu programowania została przyjęta i wkrótce różne metody programowania zaczęły być znakowane przez wielu programistów stosujących różne rodzaje makaronów. W niektórych przypadkach wybór nazw makaronów wskazywał na korzystne atrybuty danego podejścia do kodu programowania, podczas gdy inne odnosiły się do metod programowania, które uznano za mniej wydajne i ustrukturyzowane