23479
Status dostępności:
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 004 (2 egz.)
Strefa uwag:
Uwaga ogólna
Tłumaczenie Andrzej Watrak, z wykorzystaniem fragmentów książki: Refaktoryzacja. Ulepszanie struktury istniejącego kodu, w tłumaczeniu Justyny Walkowskiej.
Uwaga dotycząca bibliografii
Bibliografia na s. 395-397. Indeks.
Uwaga dotycząca zawartości
Przedmowa: Czym jest refaktoryzacja?; Co zawiera ta książka?; Kto powinien przeczytać tę książkę?; Podstawowe prace wykonane przez innych; Podziękowania; 1. Refaktoryzacja: pierwszy przykład: Punkt wyjścia; Uwagi na temat przykładowego programu; Pierwszy krok refaktoryzacji; Dekompozycja funkcji statement; Aktualny stan: mnóstwo zagnieżdżonych funkcji; Rozdzielenie faz obliczeń i formatowania; Aktualny stan: podział na dwa pliki (i fazy); Uporządkowanie obliczeń według typów przedstawień; Aktualny stan: tworzenie danych za pomocą polimorficznego kalkulatora; Podsumowanie; 2. Zasady refaktoryzacji: Definicja refaktoryzacji; Dwa kapelusze; Po co refaktoryzować?; Kiedy refaktoryzować?; Problemy z refaktoryzacją; Refaktoryzacja, architektura i yagni; Refaktoryzacja i szerszy proces tworzenia oprogramowania; Refaktoryzacja a wydajność; Skąd się wzięła refaktoryzacja?; Refaktoryzacja automatyczna; Dalsze kroki; 3. Brzydkie zapaszki w kodzie: Tajemnicza nazwa; Zduplikowany kod; Długa funkcja; Długa lista parametrów; Dane globalne; Dane mutowalne; Rozbieżne zmiany; Fala uderzeniowa; Zazdrosne funkcjonalności; Stada danych; Opętanie typami prostymi; Powtarzane instrukcje warunkowe; Pętle; Leniwa klasa; Spekulacyjne uogólnienia; Pole tymczasowe; Łańcuchy komunikatów; Pośrednik; Niestosowna bliskość; Duża klasa; Alternatywne klasy z różnymi interfejsami; Klasa danych; Odmowa przyjęcia spadku; Uwagi; 4. Testy: Zalety samotestującego się kodu; Prosty kod do przetestowania; Pierwszy test; Dodanie następnego testu; Modyfikacja danych początkowych; Sprawdzanie warunków granicznych; Dalsze kroki; 5. Katalog przekształceń refaktoryzacyjnych: Format opisu przekształceń; Wybór przekształceń; 6. Pierwszy pakiet przekształceń: Ekstrakcja Funkcji; Wchłonięcie Funkcji; Ekstrakcja Zmiennej; Wchłonięcie Zmiennej; Zmiana Deklaracji Funkcji; Enkapsulacja Zmiennej; Zmiana Nazwy Zmiennej; Wprowadzenie Obiektu Parametrycznego; Zebranie Funkcji w Klasę; Zebranie Funkcji w Transformatę; Podział na Fazy; 7. Enkapsulacja: Enkapsulacja Rekordu; Enkapsulacja Kolekcji; Zastąpienie Typu Prostego Obiektem; Zastąpienie Zmiennej Tymczasowej Zapytaniem; Ekstrakcja Klasy; Wchłonięcie Klasy; Ukrycie Delegata; Usunięcie Pośrednika; Zastąpienie Algorytmu; 8. Przenoszenie funkcjonalności: Przeniesienie Funkcji; Przeniesienie Pola; Przeniesienie Instrukcji do Funkcji; Przeniesienie Instrukcji do Kodu Wywołującego; Zastąpienie Wchłoniętego Kodu Wywołaniem Funkcji; Przesunięcie Instrukcji; Podział Pętli; Zastąpienie Pętli Potokiem; Usunięcie Martwego Kodu; 9. Porządkowanie danych: Podział Zmiennej; Zmiana Nazwy Pola; Zastąpienie Wyliczanej Zmiennej Zapytaniem; Zamiana Referencji na Wartość; Zamiana Wartości na Referencję; 10. Upraszczanie wyrażeń warunkowych: Dekompozycja Instrukcji Warunkowej; Scalenie Instrukcji Warunkowej; Zastąpienie Zagnieżdżonej Instrukcji Warunkowej Instrukcją Wyjścia; Zastąpienie Instrukcji Warunkowej Polimorfizmem ; Wprowadzenie Przypadku Specjalnego; Wprowadzenie Asercji; 11. Refaktoryzacja interfejsu API: Rozdzielenie Zapytania i Modyfikacji; Parametryzacja Funkcji; Usunięcie Parametru-Flagi; Przekazanie Całego Obiektu; Zastąpienie Parametru Zapytaniem; Zastąpienie Zapytania Parametrem; Usunięcie Funkcji Ustawiającej Wartość; Zastąpienie Konstruktora Funkcją Wytwórczą; Zastąpienie Funkcji Poleceniem; Zastąpienie Polecenia Funkcją; 12. Praca z hierarchią klas: Przesunięcie Metody w Górę Hierarchii; Przesunięcie Pola w Górę Hierarchii; Przesunięcie Ciała Konstruktora w Górę Hierarchii; Przesunięcie Metody w Dół Hierarchii; Przesunięcie Pola w Dół Hierarchii; Zastąpienie Kodu Typu Podklasami; Usunięcie Podklasy; Ekstrakcja Nadklasy; Zwinięcie Hierarchii; Zastąpienie Podklasy Delegatem; Zastąpienie Nadklasy Delegatem; Bibliografia; Skorowidz.
Uwaga dotycząca przeznaczenia czytelniczego
Książka przeznaczona jest dla profesjonalnego programisty, kogoś, kto zawodowo pisze programy.
Recenzje:
Pozycja została dodana do koszyka. Jeśli nie wiesz, do czego służy koszyk, kliknij tutaj, aby poznać szczegóły.
Nie pokazuj tego więcej