TDD_Sztuka_tworzenia_dobrego_kodu_tddszv.pdf
(
3706 KB
)
Pobierz
Tytuł oryginału: Test Driven Development: By Example
Tłumaczenie: Andrzej Grażyński
Projekt okładki: Studio Gravite / Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
ISBN: 978-83-283-6572-8
Authorized translation from the English language edition, entitled:
TEST DRIVEN DEVELOPMENT: BY EXAMPLE; ISBN 0321146530;
by Kent Beck; published by Pearson Education, Inc, publishing as Addison Wesley.
Copyright © 2003 Pearson Education, Inc.
All rights reserved. No part of this book may by reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc.
Polish language edition published by Helion SA. Copyright © 2014, 2020.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi
bądź towarowymi ich właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe
z wykorzystania informacji zawartych w książce.
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock Images LLC.
Helion SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/tddszv
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
•
Kup książkę
•
Poleć książkę
•
Oceń książkę
•
Księgarnia internetowa
•
Lubię to! » Nasza społeczność
Spis treści
Przedmowa .............................................................................................................................. 7
Podziękowania ......................................................................................................................13
Wstęp ......................................................................................................................................15
CZĘŚĆ I. Obliczenia finansowe ......................................................................... 19
Rozdział 1. Portfel wielowalutowy .....................................................................................21
Rozdział 2. Zdegenerowane obiekty ...................................................................................29
Rozdział 3. Równość dla wszystkich ..................................................................................33
Rozdział 4. Prywatność ........................................................................................................37
Rozdział 5. Franki, dolary… ................................................................................................39
Rozdział 6. Równość dla wszystkich — tak, ale… ............................................................43
Rozdział 7. Jabłka i pomarańcze .........................................................................................49
Rozdział 8. Tworzymy obiekty ............................................................................................51
Rozdział 9. Mnożenie rozdwojone .....................................................................................55
Rozdział 10. Mnożenie jednolite ........................................................................................61
Rozdział 11. Korzenie wszelkiego zła .................................................................................67
Rozdział 12. Dodawanie — ostatecznie .............................................................................71
Rozdział 13. Zróbmy to ........................................................................................................77
Rozdział 14. Wymiana .........................................................................................................83
Rozdział 15. Mieszany koszyk walutowy ...........................................................................87
Rozdział 16. Abstrakcja — ostatecznie ..............................................................................91
Rozdział 17. Obliczenia finansowe — retrospekcja .........................................................95
5
Kup książkę
Poleć książkę
6
S
PIS TREŚCI
CZĘŚĆ II. Przykład — xUnit ........................................................................... 103
Rozdział 18. Pierwsze kroki ...............................................................................................105
Rozdział 19. Każdy sobie… ...............................................................................................111
Rozdział 20. Sprzątanie po sobie ......................................................................................115
Rozdział 21. Zliczanie .........................................................................................................119
Rozdział 22. Zapanować nad awariami ...........................................................................123
Rozdział 23. W jedności siła ..............................................................................................125
Rozdział 24. xUnit — retrospekcja ...................................................................................131
CZĘŚĆ III. Wzorce dla programowania sterowanego testami ...................... 133
Rozdział 25. O wzorcach TDD .........................................................................................135
Rozdział 26. Wzorce czerwonego paska ..........................................................................145
Rozdział 27. Wzorce testowania .......................................................................................153
Rozdział 28. Wzorce zielonego paska ..............................................................................161
Rozdział 29. Wzorce xUnit ................................................................................................167
Rozdział 30. Wzorce projektowe ......................................................................................177
Rozdział 31. Refaktoryzacja ...............................................................................................193
Rozdział 32. Doskonaląc TDD ..........................................................................................205
Dodatek A. Diagramy oddziaływań .................................................................................219
Dodatek B. Fibonacci .........................................................................................................223
Posłowie ...............................................................................................................................227
Skorowidz ............................................................................................................................229
Kup książkę
Poleć książkę
Rozdział 31
Refaktoryzacja
Opisywane w tym rozdziale wzorce związane są ze zmianami w projekcie systemu,
nawet radykalnymi, ale przeprowadzanymi metodą małych kroków.
Na gruncie TDD refaktoryzacja
1
przeprowadzana jest w naprawdę interesujący
sposób. Z zasady, refaktoryzacja musi zachowywać określone warunki związane z se-
mantyką kodu; w programowaniu sterowanym testami przez owe warunki rozumiemy
stan wykonanych już testów — jeżeli dotąd wszystkie były zaliczane, zabieg wykony-
wany na kodzie nie może tego zmienić, kiedy chcemy go uważać za refaktoryzację.
Rozumując w ten sposób, możemy w kodzie modelowym zastąpić wybrane stałe zmien-
nymi i — z pełną świadomością — nazywać to „uzmiennienie” refaktoryzacją i to na-
wet w sytuacji, gdy mamy za sobą zaliczony tylko jeden przypadek testowy. Nawet jeśli
przeczuwamy, że następne testy załamią się wobec aktualnej postaci kodu modelo-
wego, nie przejmujemy się tym faktem z prostego powodu — obecnie testy te jeszcze
nie istnieją.
Jest zrozumiałe, iż ta swoista „równoważność obserwacyjna” nakłada na programi-
stę szczególną odpowiedzialność w zakresie dostatecznego przetestowania tworzonego
kodu — „dostatecznego” w tym sensie, że zaliczenie wszystkich przeprowadzonych te-
stów pozwoli na wysnucie założenia, że zaliczone zostałyby
wszystkie możliwe
testy.
Nie da się niczym usprawiedliwić postawa w rodzaju: „Wiem o istniejącym problemie,
ale skoro wszystkie testy zostały zaliczone, mogę integrować swój kod z bazowym”.
1
Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Refaktoryzacja. Ulepszanie
struktury istniejącego kodu,
wyd. Helion 2011,
http://helion.pl/ksiazki/refuko.htm
. Oryginał:
Refactoring: Improving the Design of Existing Code,
wyd. Reading,
MA: Addison-Wesley, 1999.
ISBN 0201485672.
193
Kup książkę
Poleć książkę
Plik z chomika:
Ksiazki_20
Inne pliki z tego folderu:
Agile_Metodyki_zwinne_w_planowaniu_projektow_agilem.pdf
(1278 KB)
Agile_Programowanie_zwinne_zasady_wzorce_i_praktyki_zwinnego_wytwarzania_oprogramowania_w_C_agilev.pdf
(3219 KB)
Agile_Retrospektywy_w_zarzadzaniu_standardami_agiret.pdf
(1503 KB)
Agile_Rusz_glowa_agiler.pdf
(3631 KB)
Architektura_Lean_w_projektach_Agile_arlean.pdf
(738 KB)
Inne foldery tego chomika:
Administracja
Afryka
After Effects
AJAX
Albumy
Zgłoś jeśli
naruszono regulamin