Kod spaghetti to potoczne określenie programu o splątanej, nieuporządkowanej strukturze, w którym przepływ sterowania skacze między odległymi fragmentami, a zależności są niejasne. Taki kod jest trudny do czytania, testowania i modyfikacji, bo zmiana w jednym miejscu psuje inne.
Jak powstaje?
Zwykle w wyniku pośpiechu, braku planu i stopniowego dopisywania poprawek. Historycznie wiązano go z nadużywaniem instrukcji skoku goto. Dziś objawia się długimi funkcjami, zagnieżdżonymi warunkami, zmiennymi globalnymi i mieszaniem logiki z prezentacją, np. zapytań SQL w szablonach HTML.
Jak go rozpoznać?
Trudno wskazać, gdzie dzieje się dana operacja, nazwy nic nie mówią, a każdą zmianę poprzedza lęk, że coś się zepsuje. Brak testów automatycznych dodatkowo utrudnia bezpieczne poprawki.
Jak go leczyć?
Zacząć od testów opisujących obecne zachowanie, a następnie refaktoryzować małymi krokami: wydzielać funkcje, nazywać elementy, oddzielać warstwy. Dobrym kierunkiem jest podział według wzorca MVC i zasady pojedynczej odpowiedzialności.
Powiązane pojęcia
Wszystkie hasła z kategorii Programowanie i wzorce projektowe