zwinne wytwarzanie oprogramowania. najlepsze zasady, wzorce i praktyki helion.pdf

(23391 KB) Pobierz
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Słowo wstępne
Przedmowa
O autorach
CZĘŚĆ I
ZWINNE WYTWARZANIE OPROGRAMOWANIA
Agile Alliance
Manifest Agile Alliance
13
14
20
21
23
24
24
Rozdział 1 Praktyki agile
Zasady
Wniosek
Bibliografia
27
29
29
Rozdział 2 Przegląd informacji o programowaniu ekstremalnym
Praktyki programowania ekstremalnego
Klient jest członkiem zespołu
Historyjki użytkowników
Krótkie cykle
Testy akceptacyjne
Programowanie parami
Programowanie sterowane testami
Wspólna własność
Ciągła integracja
Równomierne tempo
Otwarta przestrzeń robocza
Gra w planowanie
Prosty projekt
Refaktoryzacja
Metafora
31
31
32
32
32
33
33
34
34
34
35
35
35
36
37
37
Wniosek
Bibliografia
38
38
Rozdział 3 Planowanie
Początkowa eksploracja
Tworzenie prototypów, dzielenie i szybkość
39
40
40
Planowanie wersji dystrybucyjnych
Planowanie iteracji
Planowanie zadań
Półmetek
41
41
41
42
Przebieg iteracji
Wniosek
Bibliografia
Kup książkę
42
43
43
Poleć książkę
4
SPIS TREŚCI
Rozdział 4 Testowanie
Programowanie sterowane testami
Przykład projektu w stylu „najpierw test”
Izolacja testu
Nieoczekiwane wyeliminowanie sprzężeń
45
45
46
47
48
Testy akceptacyjne
Przykład testów akceptacyjnych
Architektura „przy okazji”
49
50
51
Wniosek
Bibliografia
51
52
Rozdział 5 Refaktoryzacja
Generowanie liczb pierwszych — prosty przykład refaktoryzacji
Ostateczny przegląd
53
54
59
Wniosek
Bibliografia
62
63
Rozdział 6 Epizod programowania
Gra w kręgle
Wniosek
65
66
98
CZĘŚĆ II
PROJEKT AGILE
Symptomy złego projektu
Zasady
Zapachy a zasady
Bibliografia
101
101
101
102
102
Rozdział 7 Co to jest projekt agile?
Co złego dzieje się z oprogramowaniem?
Zapachy projektu — woń psującego się oprogramowania
Co stymuluje oprogramowanie do psucia się?
Zespoły agile nie pozwalają psuć się oprogramowaniu
103
103
104
106
106
Program Copy
Przykład programu Copy wykonanego zgodnie z metodyką agile
Skąd deweloperzy agile wiedzieli, co należy zrobić?
106
109
110
Utrzymywanie projektu w jak najlepszej postaci
Wniosek
Bibliografia
110
111
111
Rozdział 8 SRP — zasada pojedynczej odpowiedzialności
SRP — zasada pojedynczej odpowiedzialności
Czym jest odpowiedzialność?
Rozdzielanie sprzężonych odpowiedzialności
Trwałość
113
113
115
115
116
Wniosek
Bibliografia
116
116
Rozdział 9 OCP — zasada otwarte-zamknięte
OCP — zasada otwarte-zamknięte
Opis
Kluczem jest abstrakcja
117
117
118
118
Kup książkę
Poleć książkę
SPIS TREŚCI
5
Aplikacja Shape
Naruszenie zasady OCP
Zachowanie zgodności z zasadą OCP
Przyznaję się. Kłamałem
Przewidywanie i „naturalna” struktura
Umieszczanie „haczyków”
Stosowanie abstrakcji w celu uzyskania jawnego domknięcia
Zastosowanie podejścia „sterowania danymi” w celu uzyskania domknięcia
119
120
121
122
122
123
124
125
Wniosek
Bibliografia
126
126
Rozdział 10 LSP — zasada podstawiania Liskov
LSP — zasada podstawiania Liskov
Prosty przykład naruszenia zasady LSP
Kwadraty i prostokąty — bardziej subtelne naruszenie zasady LSP
Prawdziwy problem
Poprawność nie jest wrodzona
Relacja IS-A dotyczy zachowania
Projektowanie według kontraktu
Specyfikowanie kontraktów w testach jednostkowych
127
127
128
129
131
132
132
132
133
Realny przykład
Motywacja
Problem
Rozwiązanie niezgodne z zasadą LSP
Rozwiązanie zgodne z zasadą LSP
133
133
135
136
136
Wydzielanie zamiast dziedziczenia
Heurystyki i konwencje
Zdegenerowane funkcje w klasach pochodnych
Zgłaszanie wyjątków z klas pochodnych
137
139
140
140
Wniosek
Bibliografia
140
140
Rozdział 11 DIP — zasada odwracania zależności
DIP — zasada odwracania zależności
Podział na warstwy
Odwrócenie własności
Zależność od abstrakcji
141
141
142
142
143
Prosty przykład
Wyszukiwanie potrzebnych abstrakcji
144
145
Przykład programu Furnace
Polimorfizm dynamiczny i statyczny
146
147
Wniosek
Bibliografia
148
148
Rozdział 12 ISP — zasada segregacji interfejsów
Zaśmiecanie interfejsów
Odrębne klienty oznaczają odrębne interfejsy
Siła oddziaływania klientów na interfejsy
149
149
150
151
ISP — zasada segregacji interfejsów
Interfejsy klas a interfejsy obiektów
Separacja przez delegację
Separacja przez wielokrotne dziedziczenie
151
152
152
153
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin