reklama - zainteresowany?

Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II - Helion

Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II
Autor: Martin Fowler
ISBN: 978-83-283-5563-7
okładka: miękka
Data wydania: 2019-05-01
Księgarnia: Helion

Cena książki: 59,25 zł (poprzednio: 79,00 zł)
Oszczędzasz: 25% (-19,75 zł)

Dodaj do koszyka Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II

Dodaj do koszyka Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II

 

Osoby które kupowały "Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II", wybierały także:

  • Windows Media Center. Domowe centrum rozrywki
  • Ruby on Rails. Ćwiczenia
  • DevOps w praktyce. Kurs video. Jenkins, Ansible, Terraform i Docker
  • Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku
  • Scrum. O zwinnym zarządzaniu projektami. Wydanie II rozszerzone

Dodaj do koszyka Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II

Spis treści

Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II -- spis treści

 

Słowo wstępne do pierwszego wydania 9

 

Przedmowa 11

  • Czym jest refaktoryzacja? 12
  • Co zawiera ta książka? 12
  • Kto powinien przeczytać tę książkę? 13
  • Podstawowe prace wykonane przez innych 14
  • Podziękowania 15

1. Refaktoryzacja: pierwszy przykład 17

  • Punkt wyjścia 17
  • Uwagi na temat przykładowego programu 19
  • Pierwszy krok refaktoryzacji 20
  • Dekompozycja funkcji statement 21
  • Aktualny stan: mnóstwo zagnieżdżonych funkcji 37
  • Rozdzielenie faz obliczeń i formatowania 39
  • Aktualny stan: podział na dwa pliki (i fazy) 46
  • Uporządkowanie obliczeń według typów przedstawień 48
  • Aktualny stan: tworzenie danych za pomocą polimorficznego kalkulatora 55
  • Podsumowanie 57

2. Zasady refaktoryzacji 59

  • Definicja refaktoryzacji 59
  • Dwa kapelusze 60
  • Po co refaktoryzować? 60
  • Kiedy refaktoryzować? 63
  • Problemy z refaktoryzacją 68
  • Refaktoryzacja, architektura i yagni 73
  • Refaktoryzacja i szerszy proces tworzenia oprogramowania 74
  • Refaktoryzacja a wydajność 75
  • Skąd się wzięła refaktoryzacja? 77
  • Refaktoryzacja automatyczna 78
  • Dalsze kroki 80

3. Brzydkie zapaszki w kodzie 81

  • Tajemnicza nazwa 82
  • Zduplikowany kod 82
  • Długa funkcja 82
  • Długa lista parametrów 83
  • Dane globalne 84
  • Dane mutowalne 84
  • Rozbieżne zmiany 85
  • Fala uderzeniowa 85
  • Zazdrosne funkcjonalności 86
  • Stada danych 86
  • Opętanie typami prostymi 87
  • Powtarzane instrukcje warunkowe 87
  • Pętle 88
  • Leniwa klasa 88
  • Spekulacyjne uogólnienia 88
  • Pole tymczasowe 89
  • Łańcuchy komunikatów 89
  • Pośrednik 89
  • Niestosowna bliskość 90
  • Duża klasa 90
  • Alternatywne klasy z różnymi interfejsami 91
  • Klasa danych 91
  • Odmowa przyjęcia spadku 91
  • Uwagi 92

4. Testy 93

  • Zalety samotestującego się kodu 93
  • Prosty kod do przetestowania 95
  • Pierwszy test 97
  • Dodanie następnego testu 100
  • Modyfikacja danych początkowych 102
  • Sprawdzanie warunków granicznych 102
  • Dalsze kroki 105

5. Katalog przekształceń refaktoryzacyjnych 107

  • Format opisu przekształceń 107
  • Wybór przekształceń 108

6. Pierwszy pakiet przekształceń 109

  • Ekstrakcja Funkcji 110
  • Wchłonięcie Funkcji 118
  • Ekstrakcja Zmiennej 122
  • Wchłonięcie Zmiennej 126
  • Zmiana Deklaracji Funkcji 127
  • Enkapsulacja Zmiennej 134
  • Zmiana Nazwy Zmiennej 139
  • Wprowadzenie Obiektu Parametrycznego 142
  • Zebranie Funkcji w Klasę 146
  • Zebranie Funkcji w Transformatę 151
  • Podział na Fazy 156

7. Enkapsulacja 161

  • Enkapsulacja Rekordu 162
  • Enkapsulacja Kolekcji 170
  • Zastąpienie Typu Prostego Obiektem 174
  • Zastąpienie Zmiennej Tymczasowej Zapytaniem 178
  • Ekstrakcja Klasy 182
  • Wchłonięcie Klasy 186
  • Ukrycie Delegata 189
  • Usunięcie Pośrednika 192
  • Zastąpienie Algorytmu 195

8. Przenoszenie funkcjonalności 197

  • Przeniesienie Funkcji 198
  • Przeniesienie Pola 206
  • Przeniesienie Instrukcji do Funkcji 211
  • Przeniesienie Instrukcji do Kodu Wywołującego 215
  • Zastąpienie Wchłoniętego Kodu Wywołaniem Funkcji 220
  • Przesunięcie Instrukcji 221
  • Podział Pętli 225
  • Zastąpienie Pętli Potokiem 229
  • Usunięcie Martwego Kodu 234

9. Porządkowanie danych 235

  • Podział Zmiennej 236
  • Zmiana Nazwy Pola 240
  • Zastąpienie Wyliczanej Zmiennej Zapytaniem 244
  • Zamiana Referencji na Wartość 248
  • Zamiana Wartości na Referencję 252

10. Upraszczanie wyrażeń warunkowych 255

  • Dekompozycja Instrukcji Warunkowej 256
  • Scalenie Instrukcji Warunkowej 259
  • Zastąpienie Zagnieżdżonej Instrukcji Warunkowej Instrukcją Wyjścia 262
  • Zastąpienie Instrukcji Warunkowej Polimorfizmem 267
  • Wprowadzenie Przypadku Specjalnego 283
  • Wprowadzenie Asercji 296

11. Refaktoryzacja interfejsu API 299

  • Rozdzielenie Zapytania i Modyfikacji 300
  • Parametryzacja Funkcji 303
  • Usunięcie Parametru-Flagi 307
  • Przekazanie Całego Obiektu 312
  • Zastąpienie Parametru Zapytaniem 317
  • Zastąpienie Zapytania Parametrem 320
  • Usunięcie Funkcji Ustawiającej Wartość 324
  • Zastąpienie Konstruktora Funkcją Wytwórczą 327
  • Zastąpienie Funkcji Poleceniem 330
  • Zastąpienie Polecenia Funkcją 336

12. Praca z hierarchią klas 341

  • Przesunięcie Metody w Górę Hierarchii 342
  • Przesunięcie Pola w Górę Hierarchii 345
  • Przesunięcie Ciała Konstruktora w Górę Hierarchii 347
  • Przesunięcie Metody w Dół Hierarchii 351
  • Przesunięcie Pola w Dół Hierarchii 352
  • Zastąpienie Kodu Typu Podklasami 353
  • Usunięcie Podklasy 360
  • Ekstrakcja Nadklasy 366
  • Zwinięcie Hierarchii 371
  • Zastąpienie Podklasy Delegatem 372
  • Zastąpienie Nadklasy Delegatem 390

Bibliografia 395

Skorowidz 398

Dodaj do koszyka Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.