Robert C. Martin (Wujek Bob) jest programistą od 1970 roku. Jest uznanym mówcą na konferencjach całego świata. Napisał między innymi książki Czysty kod (Helion, 2009), Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C# (Helion, 2008), Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów (Helion, 2013) oraz UML for Java Programmers (Prentice Hall, 2003). Oprócz tego Martin opublikował setki artykułów, rozpraw i wpisów na blogach. Działał jako redaktor naczelny magazynu „The C++ Report” i był pierwszym przewodniczącym organizacji Agile Alliance. Założył i prowadzi międzynarodową firmę Object Mentor Inc., skupiającą doświadczonych programistów i menedżerów specjalizujących się we wspomaganiu firm w realizacji trudnych projektów.
Spis treści
Słowo wstępne (11)
Wprowadzenie (17)
Podziękowania (21)
O autorze (25)
Na okładce (27)
Obowiązkowy wstęp (29)
Rozdział 1. Profesjonalizm (35)
- Uważaj, czego sobie życzysz (36)
- Przejmowanie odpowiedzialności (36)
- Po pierwsze nie szkodzić (38)
- Etyka pracy (43)
- Bibliografia (48)
Rozdział 2. Kiedy mówić "nie" (49)
- Przeciwstawne role (51)
- Wysokie stawki (54)
- Gracz zespołowy (55)
- Koszta przytakiwania (60)
- Kod niemożliwy (65)
Rozdział 3. Kiedy mówić "tak" (69)
- Język zobowiązań (71)
- Naucz się, jak mówić "tak" (75)
- Wnioski (78)
Rozdział 4. Kodowanie (79)
- Przygotowanie (80)
- Strefa (83)
- Blokada twórcza (85)
- Debugowanie (87)
- Wyznaczanie sobie rytmu (90)
- Spóźnienia (91)
- Pomoc (93)
- Bibliografia (95)
Rozdział 5. TDD (97)
- Sąd na sali (98)
- Trzy prawa TDD (99)
- Czym TDD nie jest (103)
- Bibliografia (103)
Rozdział 6. Ćwiczenia (105)
- Kilka ćwiczeń w tle (106)
- Dojo kodowania (109)
- Zwiększanie doświadczenia (112)
- Wnioski (113)
- Bibliografia (113)
Rozdział 7. Testy akceptacyjne (115)
- Komunikowanie wymagań (115)
- Testy akceptacyjne (120)
- Wnioski (129)
Rozdział 8. Strategie testowania (131)
- Kontrola jakości nie powinna nic znaleźć (132)
- Piramida automatyzacji testów (133)
- Wnioski (136)
- Bibliografia (136)
Rozdział 9. Zarządzanie czasem (137)
- Spotkania (138)
- Manna skupienia (142)
- Paczkowanie czasu i pomidory (144)
- Uniki (145)
- Ślepe uliczki (146)
- Marsze, bagna i bałagan (146)
- Wnioski (147)
Rozdział 10. Szacowanie (149)
- Czym jest szacowanie? (151)
- PERT (154)
- Szacowanie zadań (157)
- Prawo wielkich liczb (159)
- Wnioski (160)
- Bibliografia (160)
Rozdział 11. Presja (161)
- Unikanie presji (163)
- Jak radzić sobie z presją (165)
- Wnioski (166)
Rozdział 12. Współpraca (167)
- Programiści kontra ludzie (169)
- Móżdżki (173)
- Wnioski (174)
Rozdział 13. Zespoły i projekty (175)
- Można to zmiksować? (176)
- Wnioski (178)
- Bibliografia (179)
Rozdział 14. Nauczanie, terminowanie i mistrzostwo (181)
- Stopnie niepowodzenia (181)
- Nauczanie (182)
- Terminowanie (187)
- Rzemiosło (190)
- Wnioski (191)
Dodatek A. Narzędzia (193)
- Narzędzia (195)
- Kontrola kodu źródłowego (195)
- IDE i edytor (199)
- Śledzenie problemów (201)
- Ciągła kompilacja (202)
- Narzędzia do testów jednostkowych (202)
- Narzędzia do testów komponentów (203)
- Narzędzia do testów integracyjnych (204)
- UML/MDA (205)
- Wnioski (207)
Skorowidz (209)