Spis treści
Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.1. Rozwój języków i metodologii programowania . . . . . . . . . . . . . . . . . . . . 9 1.2. Ewolucje systemów i ich struktury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3. Kierunki rozwoju metodologii programowania . . . . . . . . . . . . . . . . . . . . . 13 1.4. Dbałość o jakość programowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2. Styl programowania i właściwości programów . . . . . . . . . . . . . . . . . . . . . . . 19 2.1. Reguły dobrego stylu programowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.1.1. Komentarze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1.2. Puste linie i odstępy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.1.3. Wybór nazw i skróty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.1.4. Rozmieszczanie instrukcji i akapity . . . . . . . . . . . . . . . . . . . . . . . . 28 2.1.5. Nawiasy i porządkowanie list według alfabetu . . . . . . . . . . . . . . . . 31 2.2. Właściwości programów i sposoby ich osiągania . . . . . . . . . . . . . . . . . . . 33 2.2.1. Uniwersalność . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.2.2. Modyfikowalność . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.2.3. Niezawodność . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.2.4. Zrozumiałość . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.2.5. Efektywność . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.3. Uwagi do właściwości programów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3. Programowanie strukturalne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.1. List Dijkstry (1968) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2. Charakterystyka zdania goto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5