Co daje inżynieria oprogramowania w MS Excel

„Smoliste grzęzawisko, jakim jest inżynieria oprogramowania, jeszcze przez długi czas będzie nie do pokonania. Można się spodziewać, że człowiek nadal będzie dążył do budowania systemów będących na granicy dostępności lub wręcz niedostępnych; systemy oprogramowania są prawdopodobnie najbardziej skomplikowanym dziełem człowieka. Ta wyrafinowana sztuka ich tworzenia będzie wymagać od nas ciągłej pracy nad rozwojem tej dziedziny, uczenia się budowy większych jednostek, najlepszego wykorzystania nowych narzędzi, najlepszego zastosowania sprawdzonych już metod zarządzania inżynierią, kierowania się przede wszystkim zdrowym rozsądkiem”. /Frederick Phillips Brooks, Jr. Mityczny osobomiesiąc – eseje o inżynierii oprogramowania/

INFO_21_10.jpg

Esej, którego fragment zamieszczono na początku, autorstwa F.P. Brooksa Jr., opowiada o złożoności tej dziedziny wiedzy. Do tej pory nie wszystko z inżynierii oprogramowania zostało ujęte w jednoznaczne zasady. Praktyka, mimo określenia niektórych logicznych zasad, odbiega od nich. Tu znakomitym przykładem są instrukcje pętli (iteracji) w języku Visual Basic for Excel. Zamieszczono w nim sześć pętli (iteracji): FOR, WHILE … WEND, DO WHILE … LOOP, DO … LOOP WHILE, DO UNTIL … LOOP, DO … LOOP UNTIL (oprócz tego są pętle realizujące działania na obiektach). Funkcjonalność wszystkich pętli jest taka sama – powtarzają wykonywanie tego samego ciągu instrukcji (dalej ciąg instrukcji będziemy nazywali instrukcją złożoną lub instrukcją). Niklaus Wirth3, autor struktur programowych, udowodnił, że za pomocą trzech struktur programowych – sekwencji, selekcji i pętli – można zapisać każdy algorytm. Jednak zaproponował tylko trzy typy pętli, ze względu na drobne różnice w działaniu: WHILE, REPEAT i FOR:

  • w pętli typu WHILE warunek jest na początku (przed instrukcją), dlatego instrukcja, w tej pętli, może być w ogóle niewykonana;
  • w pętli typu REPEAT warunek jest na końcu (po instrukcji), dlatego instrukcja zamieszczona wewnątrz pętli będzie przynajmniej raz wykonana;
  • pętla typu FOR jest odmianą pętli typu WHILE – sterowanie tą pętlą (w odróżnieniu od pętli WHILE i REPEAT) jest jej integralną częścią, dlatego jej zapis jest czytelniejszy, ale pętla FOR jest mniej elastyczna niż dwie pozostałe.

Niklaus Wirth dokonał podziału na pętle REPEAT i WHILE ze względu na fakt, że występują okoliczności, w których instrukcja w pętli musi być wykonana przynajmniej raz (wtedy stosowana jest pętla REPEAT), oraz okoliczności, w których przyjmujemy, że instrukcja w pętli może nie być w ogóle wykonana (wtedy potrzebna jest pętla WHILE).

Ja używam tylko dwóch typów pętli. Według nomenklatury Wirtha są to: WHILE i FOR. Nie używam pętli typu REPEAT. Jeśli instrukcja wewnątrz pętli ma być wykonana przynajmniej raz, stosuję pętlę WHILE i umieszczam instrukcję z pętli także przed nią. Tym sposobem ograniczam liczbę stosowanych pętli, dzięki czemu zwiększam czytelność rozwiązania (zgodnie z zasadą: im mniejszą liczbą elementów zarządzamy, tym zarządzanie jest łatwiejsze).

Pętla typu REPEAT jest trudniejsza w analizie w porównaniu do pętli typu WHILE. Czytając kod programu, trzeba w pętli typu REPEAT szukać warunku na jej końcu, a jeśli używa się pętli typu WHILE, trzeba również zmienić sposób myślenia o jej działaniu.

Wykorzystałeś swój limit bezpłatnych treści

Pozostałe 87% artykułu dostępne jest dla zalogowanych użytkowników portalu. Zaloguj się, wybierz plan abonamentowy albo kup dostęp do artykułu/dokumentu.

Wybierz abonament już od 100 zł miesięcznie Pokaż abonament
Dwutygodniowy dostęp bez zobowiązań Wybieram

Abonament już od 100 zł miesięcznie

Dwutygodniowy dostęp bez zobowiązań

Pełen dostęp do wszystkich treści portalu
to koszt 100 zł miesięcznie
przy jednorazowej płatności za rok

WYBIERAM

Dwutygodniowy dostęp do wszystkich treści
portalu za 99 zł netto, które odliczymy od ceny
regularnej przy przedłużeniu abonamentu

WYBIERAM

Pełen dostęp do wszystkich treści portalu
to koszt 100 zł miesięcznie
przy jednorazowej płatności za rok

Dwutygodniowy dostęp do wszystkich treści
portalu za 99 zł netto, które odliczymy od ceny
regularnej przy przedłużeniu abonamentu

WYBIERAM

Polityka cookies

Dalsze aktywne korzystanie z Serwisu (przeglądanie treści, zamknięcie komunikatu, kliknięcie w odnośniki na stronie) bez zmian ustawień prywatności, wyrażasz zgodę na przetwarzanie danych osobowych przez EXPLANATOR oraz partnerów w celu realizacji usług, zgodnie z Polityką prywatności. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.

Usługa Cel użycia Włączone
Pliki cookies niezbędne do funkcjonowania strony Nie możesz wyłączyć tych plików cookies, ponieważ są one niezbędne by strona działała prawidłowo. W ramach tych plików cookies zapisywane są również zdefiniowane przez Ciebie ustawienia cookies. TAK
Pliki cookies analityczne Pliki cookies umożliwiające zbieranie informacji o sposobie korzystania przez użytkownika ze strony internetowej w celu optymalizacji jej funkcjonowania, oraz dostosowania do oczekiwań użytkownika. Informacje zebrane przez te pliki nie identyfikują żadnego konkretnego użytkownika.
Pliki cookies marketingowe Pliki cookies umożliwiające wyświetlanie użytkownikowi treści marketingowych dostosowanych do jego preferencji, oraz kierowanie do niego powiadomień o ofertach marketingowych odpowiadających jego zainteresowaniom, obejmujących informacje dotyczące produktów i usług administratora strony i podmiotów trzecich. Jeśli zdecydujesz się usunąć lub wyłączyć te pliki cookie, reklamy nadal będą wyświetlane, ale mogą one nie być odpowiednie dla Ciebie.