Programowanie/Programowanie Strukturalne

Programowanie strukturalne edytuj

Programowanie strukturalne polega na tworzeniu programów wyłącznie w oparciu o trzy kompozycje algorytmiczne: sekwencyjną, warunkową i iteracyjną. Zabronione są algorytmy wykorzystujące instrukcję skoku (GOTO).

Wykorzystywane są techniki programowania zstępującego (dekompozycja zadań programistycznych) przy budowie programu, oraz programowania wstępującego w przypadku np. bibliotek, albo bardziej elementarnych komponentów (macierze, liczby zespolone, inne obiekty, na których będziemy działać), które pozwolą na łatwiejsze dekomponowanie zadań.

Programowanie strukturalne zostało wymyślone w czasach, kiedy programy były mniejsze i nad projektem pracował mały zespół. W takich zadaniach podejście strukturalne się sprawdzało. Sprawdza się także obecnie, kiedy problem jest niezbyt duży i na tyle dobrze zdefiniowany, że można pisać bez ryzyka utknięcia w skomplikowanych analizach.

Programowanie proceduralne może być szybsze, kiedy nie używa się obiektów. Przykładem są systemy operacyjne (język C) lub obliczenia numeryczne (język C lub Fortran).

W językach obiektowych techniki strukturalne mogą znaleźć zastosowanie w obrębie danej klasy. Klasa rozwiązuje pewien problem. Rozwiązywanie problemu przez klasę może być budowane metodą dekompozycji.

Unikanie stosowania instrukcji skoku jest pożyteczne, jednak podniosły się także głosy udowadniające, że czasami mądre użycie GOTO potrafi uczynić algorytm (paradoksalnie) bardziej czytelnym. Musi to być jednak dobrze udokumentowane i opisane, aby wszystko było jasne i nie trzeba było zgadywać intencji autora przy każdym kolejnym czytaniu.