Pragmatyczny programista
Od
czeladnika do mistrza
Wydanie
jubileuszowe z okazji 20. rocznicy pierwszej edycji
Programiści dysponują coraz lepszym, szybszym i wszechstronniejszym
sprzętem. Pojawiają się nowe języki programowania i nowe paradygmaty
tworzenia architektury oprogramowania. Są jednak rzeczy,
które w świecie programowania pozostają stałe i niezmienne.
Wciąż proces stawania się programistą wymaga od adeptów tego
rzemiosła sporego wysiłku. Akt kodowania to za mało. Trzeba zmienić
sposób myślenia, nawyki, zachowania i oczekiwania. Konieczne
jest świadome dążenie do stosowania dobrych praktyk. Jeśli pilnuje się
jakości swojej pracy i nieustannie pamięta, co i po co się robi, można
w końcu stać się pragmatycznym programistą.
W
drugim wydaniu tego kultowego przewodnika wskazówki
techniczne harmonijnie łączą się z aspektami filozofii pragmatycznego
programisty. Książka została zaktualizowana i gruntownie przejrzana,
aby teraz, dwadzieścia lat po pierwszym wydaniu, ponownie pokazać, co
to znaczy być nowoczesnym, pragmatycznym programistą. Poruszono tu
tematy osobistej odpowiedzialności i rozwoju zawodowego, komunikacji i
poznawania prawdziwych wymagań, nowoczesnych technik architektonicznych
oraz coraz ważniejszych kwestii zachowania bezpieczeństwa i
prywatności. Książka składa się z krótkich
rozdziałów, które tworzą szeroki kontekst, dzięki
czemu zyskasz wiedzę o najlepszych podejściach, unikniesz
głównych pułapek, a co najważniejsze - rozwiniesz nawyki i
postawy, które staną się fundamentem Twojego sukcesu
zawodowego.
Dowiedz się, jak:
- pisać kod dynamiczny,
elastyczny i łatwy do dostosowywania
- unikać pułapek związanych
z powielaniem wiedzy
- chronić oprogramowanie
przed lukami w zabezpieczeniach
- budować zespoły
pragmatycznych programistów
- skutecznie testować
- wziąć odpowiedzialność za
swoją pracę i karierę
Obaj autorzy uczestniczyli w tworzeniu oryginalnego Manifestu Agile i
założeniu Agile Alliance. Współtworzyli też serię książek
The Pragmatic Bookshelf.
Słowo
wstępne 9
Przedmowa do drugiego wydania 13
Z przedmowy do pierwszego wydania 19
1.
Filozofia
pragmatyczna 25
To jest Twoje życie 26
Kot zjadł mój kod źródłowy 27
Entropia oprogramowania 30
Zupa z kamieni i gotowane żaby 33
Odpowiednio dobre oprogramowanie 36
Portfolio wiedzy 39
Komunikuj się! 45
2.
Postawa
pragmatyczna 53
Istota dobrego projektu 54
DRY - przekleństwo powielania 56
Ortogonalność 65
Odwracalność 74
Pociski smugowe 78
Prototypy i karteczki samoprzylepne 84
Języki dziedzinowe 88
Szacowanie 94
3.
Podstawowe
narzędzia 101
Potęga zwykłego tekstu 103
Powłoki 107
Efektywna edycja 109
Kontrola kodu źródłowego 112
Debugowanie 117
Operowanie na tekście 127
Dzienniki inżynierskie 130
4.
Pragmatyczna paranoja 133
Projektowanie kontraktowe 134
Martwe programy nie kłamią 143
Programowanie asertywne 145
Jak zrównoważyć zasoby 149
Nie prześcigaj swoich świateł 156
5.
Zegnij
lub złam 161
Eliminowanie sprzężeń 162
Żonglerka realnym światem 170
Programowanie transformacyjne 180
Podatek od dziedziczenia 191
Konfiguracja 199
6.
Współbieżność
203
Wszystko jest współbieżne 203
Eliminowanie związków czasowych 204
Współdzielony stan jest zły 209
Aktorzy i procesy 216
Czarne tablice 222
7.
Kiedy
kodujemy... 227
Słuchaj swojego jaszczurczego mózgu 228
Programowanie przez koincydencję 233
Szybkość algorytmu 239
Refaktoryzacja 245
Kod łatwy do testowania 250
Testowanie na podstawie właściwości 261
Pozostań w bezpiecznym miejscu 267
Nazewnictwo 275
8.
Przed
projektem 281
Kopalnia wymagań 282
Rozwiązywanie niemożliwych do rozwiązania łamigłówek 290
Praca zespołowa 294
Istota zwinności 297
9.
Pragmatyczne projekty 303
Pragmatyczne zespoły 304
Nie próbuj przecinać kokosów 310
Zestaw startowy pragmatyka 314
Wpraw w zachwyt użytkowników 322
Duma i uprzedzenie 324
Posłowie 326
Bibliografia 329
Możliwe odpowiedzi do ćwiczeń 331
344
strony, Format: 15.0x23.0cm, oprawa miękka