k 110 IF count > 0 THEN GOTO 50 120 END
Program wyświetla podaną przez użytkownika liczbę pierwszych wyrazów ciągu Fibonacciego. W kilku liniach trywialnego programu dwukrotnie użyto bezwarunkowej instrukcji skoku – GOTO. Przy bardziej złożonym kodzie i większej liczbie skoków pojawi się problem z jego zrozumieniem.
Ten sam cel zrealizowany przez programowanie strukturalne (w C): scanf ("%d",&steps); for (count = 0; count < steps; count++){ static int bbk = 0, bk = 1; int k = bbk + bk; bbk = bk; bk = k; printf ("Wyraz nr %d ciagu Fibonacciego wynosi: %d\n", count + 1,k); } Poszczególne kroki wykonywane są w przejrzystej i formalnej pętli. Ciąg instrukcji do wykonania w programowaniu strukturalnym nie może być dowolnie zmieniany, „przejścia” do poszczególnych bloków są obsługiwane przez zaimplementowane konstrukcje (np. for, while, do while czy if else).
Refaktoryzacja Jednym ze sposobów ograniczenia kodu spaghetti jest refaktoryzacja oparta na poszukiwaniu podobnych podzadań i wydzieleniu ich do dedykowanych modułów, funkcji lub metod. Takie działanie wymaga wydzielenia i stworzenia odpowiednich abstrakcji kodu.
Szczególnie użyteczne w zwalczaniu kodu spaghetti jest odpowiednie nazewnictwo obiektów oraz implementacja testów jednostkowych.
Przypisy
Kategoria:Kod źródłowy