Terminy takie jak „Kod spaghetti” i „Pojedynczy punkt wyjścia” są w rzeczywistości cofnięciami do tamtych czasów. Obecnie nazywamy kod, ale nie lubimy „kodu spaghetti”, ale tak naprawdę jest to odniesienie do kodu powiązanego (źle) z GOTO i JMP.
(Dzisiaj cierpimy na „kod ravioli”, w którym kod jest jak grupa niepowiązanych, ciasno spakowanych klas, podobnie jak talerz ravioli. Jednak niektórzy eksperci OO słusznie pytają: „Ale czy to nie OO powinno to robić wygląda jak?")
„Single Point of Exit” jest dziś frustrującą przeszkodą w refaktoryzacji. Wielu deweloperów, z którymi rozmawiam, nawet o tym nie słyszało i są przerażeni, kiedy to wyjaśniam. Ale w dawnych czasach oznaczało to, że nie wyskakuj nagle z bloku kodu i nie wprowadzaj kodu spaghetti. Przeskocz do przodu na koniec logiki, a następnie z wdziękiem wyjdź.
Rozciągając moją pamięć w przeszłość, wydaje mi się, że pomysł połączenia kodu w procedury był dużym krokiem naprzód. Pomysł, że można spakować procedury w interoperacyjne moduły wielokrotnego użytku, był swego rodzaju Świętym Graalem programowania.
EDYCJA: „Kod samodopasowujący się” był również wzorem stosowanym szczególnie w oryginalnej Doomie. Właśnie tam program nadpisuje instrukcje szybszymi instrukcjami w zależności od jego stanu. Kiedy byłem tykiem na kursie programistycznym w Muzeum Nauki, mój instruktor ostrzegł nas surowo: „Nie pisz kodu modyfikującego sam siebie!”
EDYCJA EDYCJA: Jednak przed Internetem słowo wędrowało znacznie wolniej. Pomysł implementacji algorytmów i struktur danych był znacznie większy. Dzisiaj sortuję cały czas, nawet nie wiedząc, jakiego używam. Ale wtedy musiałeś to sam zakodować. Pamiętam jeden artykuł mówiący o wyzwaniach programistycznych, które kiedyś zajmowały dni, które dzisiaj nokautujemy za pół godziny lub krócej. Tak naprawdę świadome programowanie „algorytmiczne” i „struktura danych” prawdopodobnie znalazłoby się na liście, znacznie bardziej niż dzisiaj.