Refaktoryzacja. Ulepszanie struktury istniejącego kodu

47,39

Opis

Refaktoryzacja. Ulepszanie struktury istniejącego kodu

Refaktoryzacja ma na celu ulepszanie istniejącego kodu. Poprawia jego strukturę, czytelność i wydajność. Prowadzona poprawnie, cechuje się zdyscyplinowaniem metody, systematycznością i konsekwencją w działaniu, a także ciągłym minimalizowaniem ryzyka wprowadzenia błędów. Niemniej refaktoryzacja jest ryzykowna. Polega na wprowadzaniu zmian do działającego kodu, co może doprowadzić do powstania trudno wykrywalnych błędów. Ryzyko wzrasta, jeśli refaktoryzacja jest przeprowadzana w sposób nieprzemyślany. Okazuje się, że transformacja kodu, która ma doprowadzić do jego ulepszenia, to spore wyzwanie.Ta książka jest zaktualizowanym wydaniem praktycznego przewodnika po refaktoryzacji. Choć jest przeznaczona dla profesjonalnego programisty, znalazło się tu zrozumiałe wprowadzenie do tego zagadnienia z opisem celów, technik i możliwości refaktoryzacji. Wspomniano także o problemach związanych z refaktoryzacją. Natomiast zasadniczą część książki stanowi znakomicie uzupełniony i wzbogacony katalog przekształceń refaktoryzacyjnych. Do zilustrowania poszczególnych technik refaktoryzacji autorzy wybrali język JavaScript, jednak kod został przedstawiony w taki sposób, aby prezentowane koncepcje bez trudu zrozumiał każdy programista.W tej książce między innymi:solidne wprowadzenie do refaktoryzacjiprzekształcenia refaktoryzacyjne: zasady, sposoby, testyenkapsulacja w refaktoryzacjiupraszczanie wyrażeń oraz porządkowanie danych, zmiennych i pólrefaktoryzacja klas i APIRefaktoryzacja: czytelny kod, wydajne działanie i brak błędów!»» Spis wszystkich odwołań do stron w książceSpis treści:Słowo wstępne do pierwszego wydania 9Przedmowa 11Czym jest refaktoryzacja? 12Co zawiera ta książka? 12Kto powinien przeczytać tę książkę? 13Podstawowe prace wykonane przez innych 14Podziękowania 151. Refaktoryzacja: pierwszy przykład 17Punkt wyjścia 17Uwagi na temat przykładowego programu 19Pierwszy krok refaktoryzacji 20Dekompozycja funkcji statement 21Aktualny stan: mnóstwo zagnieżdżonych funkcji 37Rozdzielenie faz obliczeń i formatowania 39Aktualny stan: podział na dwa pliki (i fazy) 46Uporządkowanie obliczeń według typów przedstawień 48Aktualny stan: tworzenie danych za pomocą polimorficznego kalkulatora 55Podsumowanie 572. Zasady refaktoryzacji 59Definicja refaktoryzacji 59Dwa kapelusze 60Po co refaktoryzować? 60Kiedy refaktoryzować? 63Problemy z refaktoryzacją 68Refaktoryzacja, architektura i yagni 73Refaktoryzacja i szerszy proces tworzenia oprogramowania 74Refaktoryzacja a wydajność 75Skąd się wzięła refaktoryzacja? 77Refaktoryzacja automatyczna 78Dalsze kroki 803. Brzydkie zapaszki w kodzie 81Tajemnicza nazwa 82Zduplikowany kod 82Długa funkcja 82Długa lista parametrów 83Dane globalne 84Dane mutowalne 84Rozbieżne zmiany 85Fala uderzeniowa 85Zazdrosne funkcjonalności 86Stada danych 86Opętanie typami prostymi 87Powtarzane instrukcje warunkowe 87Pętle 88Leniwa klasa 88Spekulacyjne uogólnienia 88Pole tymczasowe 89Łańcuchy komunikatów 89Pośrednik 89Niestosowna bliskość 90Duża klasa 90Alternatywne klasy z różnymi interfejsami 91Klasa danych 91Odmowa przyjęcia spadku 91Uwagi 924. Testy 93Zalety samotestującego się kodu 93Prosty kod do przetestowania 95Pierwszy test 97Dodanie następnego testu 100Modyfikacja danych początkowych 102Sprawdzanie warunków granicznych 102Dalsze kroki 1055. Katalog przekształceń refaktoryzacyjnych 107Format opisu przekształceń 107Wybór przekształceń 1086. Pierwszy pakiet przekształceń 109Ekstrakcja Funkcji 110Wchłonięcie Funkcji 118Ekstrakcja Zmiennej 122Wchłonięcie Zmiennej 126Zmiana Deklaracji Funkcji 127Enkapsulacja Zmiennej 134Zmiana Nazwy Zmiennej 139Wprowadzenie Obiektu Parametrycznego 142Zebranie Funkcji w Klasę 146Zebranie Funkcji w Transformatę 151Podział na Fazy 1567. Enkapsulacja 161Enkapsulacja Rekordu 162Enkapsulacja Kolekcji 170Zastąpienie Typu Prostego Obiektem 174Zastąpienie Zmiennej Tymczasowej Zapytaniem 178Ekstrakcja Klasy 182Wchłonięcie Klasy 186Ukrycie Delegata 189Usunięcie Pośrednika 192Zastąpienie Algorytmu 1958. Przenoszenie funkcjonalności 197Przeniesienie Funkcji 198Przeniesienie Pola 206Przeniesienie Instrukcji do Funkcji 211Przeniesienie Instrukcji do Kodu Wywołującego 215Zastąpienie Wchłoniętego Kodu Wywołaniem Funkcji 220Przesunięcie Instrukcji 221Podział Pętli 225Zastąpienie Pętli Potokiem 229Usunięcie Martwego Kodu 2349. Porządkowanie danych 235Podział Zmiennej 236Zmiana Nazwy Pola 240Zastąpienie Wyliczanej Zmiennej Zapytaniem 244Zamiana Referencji na Wartość 248Zamiana Wartości na Referencję 25210. Upraszczanie wyrażeń warunkowych 255Dekompozycja Instrukcji Warunkowej 256Scalenie Instrukcji Warunkowej 259Zastąpienie Zagnieżdżonej Instrukcji Warunkowej Instrukcją Wyjścia 262Zastąpienie Instrukcji Warunkowej Polimorfizmem 267Wprowadzenie Przypadku Specjalnego 283Wprowadzenie Asercji 29611. Refaktoryzacja interfejsu API 299Rozdzielenie Zapytania i Modyfikacji 300Parametryzacja Funkcji 303Usunięcie Parametru-Flagi 307Przekazanie Całego Obiektu 312Zastąpienie Parametru Zapytaniem 317Zastąpienie Zapytania Parametrem 320Usunięcie Funkcji Ustawiającej Wartość 324Zastąpienie Konstruktora Funkcją Wytwórczą 327Zastąpienie Funkcji Poleceniem 330Zastąpienie Polecenia Funkcją 33612. Praca z hierarchią klas 341Przesunięcie Metody w Górę Hierarchii 342Przesunięcie Pola w Górę Hierarchii 345Przesunięcie Ciała Konstruktora w Górę Hierarchii 347Przesunięcie Metody w Dół Hierarchii 351Przesunięcie Pola w Dół Hierarchii 352Zastąpienie Kodu Typu Podklasami 353Usunięcie Podklasy 360Ekstrakcja Nadklasy 366Zwinięcie Hierarchii 371Zastąpienie Podklasy Delegatem 372Zastąpienie Nadklasy Delegatem 390Bibliografia 395Skorowidz 398O autorze: Martin Fowler to niezależny konsultant, od ponad dziesięciu lat stosujący obiekty do rozwiązania ważnych problemów biznesowych. Wśród jego klientów można wymienić Chryslera, Citibank, brytyjską Narodową Służbę Zdrowia, Andersen Consulting i Netscape Communications. Ponadto Fowler regularnie wypowiada się na temat obiektów, języka UML oraz wzorców projektowych. Jest autorem nagradzanych książek, na przykład takich, jak Analysis Patterns, UML w kropelce, Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe.

: Podręczniki szkolne

jak napisać wstęp rozprawki, jak napisać artykuł prasowy, podstawy języka niemieckiego, google translator hiszpański, tir po angielsku, praca w państwówce, szkolenia online z certyfikatem, wymyśleć, us chorzów godziny otwarcia, cechy charakteru na literę j

yyyyy