Spaghetti code: Różnice pomiędzy wersjami

Dodane 22 bajty ,  9 lat temu
drobne redakcyjne, drobne techniczne
m (robot dodaje: ca:Codi spaghetti)
(drobne redakcyjne, drobne techniczne)
{{dopracować|styl}}
 
'''Spaghetti code'''- ten- termin określaokreślający skomplikowany, trudny do zrozumienia [[kod źródłowy]] programu. Z takiego kodu skompilowano wiele programów w starszych [[język proceduralny|językach proceduralnych]], typu [[Fortran]] czy [[Basic]]. Było to jeszcze przed powstaniem metody [[programowanie strukturalne|programowania strukturalnego]].
 
Używano wielu [[instrukcja warunkowa|instrukcji warunkowych]] i następnych w nich zagnieżdżonych, konstrukcji [[GOTO]] czy [[wyjątek|wyjątków]]. Droga przez kolejne rozkazy była tak poplątana, że odczytanie takiego kodu i zrozumienie go było bardzo uciążliwe, a ewentualne modyfikacje zwykle prowadziły do błędów w programie.
 
W praktyce zazwyczaj dzieli się program na [[funkcja (informatyka)|funkcje]], z których każda realizuje określony cel i może być wywoływana wielokrotnie. Tak napisany kod jest już znacznie bardziej czytelny.
 
 
== Przykłady ==
120 END
 
Program wyświetla podaną przez użytkownika ilość pierwszych wyrazów [[ciąg Fibonacciego|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.
 
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 (język programowania)|C]]):
 
}
 
Poszczególne kroki wykonywane są w przejrzystej i formalnej [[pętla (informatyka)|pętli]]. Ciąg instrukcji do wykonania w programowaniu strukturalnym nie może być dowolnie zmieniany, "przejścia" do poszczególnych [[blok podstawowy|bloków]] są obsługiwane przez zaimplementowane konstrukcje (np. ''for, while, do while czy if else'').
Ciąg instrukcji do wykonania w programowaniu strukturalnym nie może być dowolnie zmieniany, "przejścia" do poszczególnych [[blok podstawowy|bloków]] są obsługiwane przez zaimplementowane konstrukcje (np. ''for, while, do while czy if else'').
 
== Zobacz też ==
* [[Action!]]
* [[Ada (informatyka)|Ada]]
46 079

edycji