Facebook - konwersja
Pobierz fragment

Refaktoryzacja. Ulepszanie struktury istniejącego kodu - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
28 października 2011
Format ebooka:
PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Pobierz fragment
77,00

Refaktoryzacja. Ulepszanie struktury istniejącego kodu - ebook

Pierwszy podręcznik tak gruntownie i przejrzyście wyjaśniający najlepsze praktyki oraz techniki refaktoryzacji!

  • Jak identyfikować błędy i problemy z istniejącym kodem?
  • Jak poprawiać spójność, czytelność i wydajność kodu?
  • Jak przekształcać kod bez ryzyka wprowadzania błędów?
  • Jak skutecznie wykorzystywać przekształcenia refaktoryzacyjne?

Jak ryzykowne jest grzebanie w kodzie - wszyscy doskonale wiemy. Im głębiej sięgasz… tym więcej pojawia się nowych problemów i jeszcze więcej rzeczy wymaga zmian. A nieustanne "poprawianie" działającego kodu może w końcu doprowadzić do powstania trudno wykrywalnych, krytycznych błędów. Jednak co zrobić, jeśli "odziedziczymy" nieefektywny, trudny w utrzymaniu i rozszerzaniu program? Jak poprawić jego strukturalną spójność i wydajność? Wypracowywane latami przez najlepszych ekspertów techniki refaktoryzacji, czyli ulepszania projektu istniejącego kodu, są dziś sprawdzonymi rozwiązaniami, zapewniającymi jego trwałą czytelność i możliwość efektywnego rozwoju. Opracowane głównie na potrzeby frameworków, są obecnie narzędziem wykorzystywanym dla całego procesu produkcji oprogramowania. Jednak dla wielu programistów proces refaktoryzacji pozostaje wiedzą tajemną, bo jak dotąd żaden podręcznik nie przedstawił używanych przy tym technik w praktycznej, łatwej do wykorzystania formie. A przecież przeprowadzona błędnie lub w zbytnim pośpiechu refaktoryzacja zamiast ulepszenia kodu może kosztować nas dodatkowe dni lub całe tygodnie stresującej pracy nad programem.

Oto podręcznik, w którym słynny mentor i programistyczny guru Martin Fowler wraz z kilkoma innymi znanymi programistami podejmują się pierwszego tak gruntownego i przejrzystego objaśnienia technik związanych ze skutecznym procesem refaktoryzacji. Książka ta przedstawia zasady i najlepsze praktyki refaktoryzacyjne oraz zawiera wskazówki na temat tego, kiedy i jak zacząć ingerować w kod. Znajdziesz tu wyczerpujący katalog siedemdziesięciu przekształceń refaktoryzacyjnych. Każdemu z nich towarzyszą wskazówki dotyczące możliwości wykorzystania, instrukcja opisująca kolejne kroki oraz przykład. Ten podręcznik pokaże Ci zatem, jak przekształcać kod w sposób kontrolowany i efektywny, jak refaktoryzować go bez wprowadzania błędów, konsekwentnie ulepszając jego strukturę, oraz jak skutecznie go testować. Choć przedstawione w książce przykłady zostały napisane w języku Java, idee te znajdą zastosowanie w każdym innym języku obiektowym. Ponadto w opisach części przekształceń dodano uwagi związane z ich stosowaniem w innych językach.

W książce tej znajdziesz między innymi opis takich zagadnień, jak:

  • zasady refaktoryzacji
  • identyfikowanie błędów i problemów z kodem
  • testowanie
  • katalog przekształceń refaktoryzacyjnych
  • konstrukcja metod
  • przenoszenie składowych pomiędzy obiektami
  • organizacja danych
  • upraszczanie wyrażeń warunkowych i wywołań metod
  • praca z hierarchią dziedziczenia
  • duże przekształcenia
  • refaktoryzacja i reużywalność
  • narzędzia refaktoryzacyjne

Poznaj sprawdzone techniki ulepszania istniejącego kodu!

Spis treści

Słowo wstępne (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 (14)

1. Refaktoryzacja: pierwszy przykład (17)

  • Punkt wyjścia (17)
  • Pierwszy krok refaktoryzacji (22)
  • Dekompozycja i redystrybucja metody statement (22)
  • Zastąpienie warunkowej logiki wyznaczania ceny polimorfizmem (39)
  • Podsumowanie (48)

2. Zasady refaktoryzacji (49)

  • Definicja refaktoryzacji (49)
  • Po co refaktoryzować? (50)
  • Kiedy refaktoryzować? (52)
  • Co mam powiedzieć kierownikowi? (54)
  • Problemy z refaktoryzacją (56)
  • Refaktoryzacja a projektowanie (59)
  • Refaktoryzacja a wydajność (61)
  • Skąd się wzięła refaktoryzacja? (62)

3. Brzydkie zapaszki w kodzie (65)

  • Zduplikowany kod (66)
  • Długa metoda (66)
  • Duża klasa (67)
  • Długa lista parametrów (68)
  • Rozbieżne zmiany (68)
  • Fala uderzeniowa (69)
  • Zazdrosne metody (69)
  • Stada danych (69)
  • Opętanie prymitywami (70)
  • Instrukcje switch (70)
  • Równoległe hierarchie dziedziczenia (71)
  • Leniwa klasa (71)
  • Spekulacyjne uogólnienia (71)
  • Pole tymczasowe (72)
  • Łańcuchy komunikatów (72)
  • Pośrednik (73)
  • Niestosowna bliskość (73)
  • Alternatywne klasy z różnymi interfejsami (73)
  • Niekompletna klasa biblioteczna (73)
  • Klasa opakowująca dane (74)
  • Odmowa przyjęcia spadku (74)
  • Uwagi (75)

4. Testy (77)

  • Zalety samotestującego się kodu (77)
  • Testy jednostkowe JUnit (79)
  • Więcej testów (84)

5. Katalog przekształceń refaktoryzacyjnych (89)

  • Format opisu przekształceń (89)
  • Odnajdywanie odwołań (90)
  • Dojrzałość przekształceń (91)

6. Konstrukcja metod (93)

  • Ekstrakcja Metody (94)
  • Wchłonięcie Metody (100)
  • Wchłonięcie Zmiennej Tymczasowej (102)
  • Zastąpienie Zmiennej Tymczasowej Zapytaniem (103)
  • Wprowadzenie Zmiennej Objaśniającej (107)
  • Podział Zmiennej Tymczasowej (111)
  • Eliminacja Przypisywania Wartości Parametrom (114)
  • Zastąpienie Metody Obiektem (118)
  • Zastąpienie Algorytmu (121)

7. Przenoszenie składowych pomiędzy obiektami (123)

  • Przeniesienie Metody (124)
  • Przeniesienie Pola (128)
  • Ekstrakcja Klasy (131)
  • Wchłonięcie Klasy (135)
  • Ukrycie Delegata (138)
  • Usunięcie Pośrednika (141)
  • Wprowadzenie Obcej Metody (143)
  • Wprowadzenie Rozszerzenia Lokalnego (145)

8. Organizacja danych (151)

  • Samoenkapsulacja Pola (153)
  • Zastąpienie Typu Prostego Obiektem (156)
  • Zamiana Wartości na Referencję (159)
  • Zamiana Referencji na Wartość (163)
  • Zastąpienie Tablicy Obiektem (166)
  • Duplikacja Obserwowanych Danych (169)
  • Zamiana Asocjacji Jednokierunkowej na Dwukierunkową (176)
  • Zamiana Asocjacji Dwukierunkowej na Jednokierunkową (179)
  • Zastąpienie Magicznej Liczby Stałą Symboliczną (183)
  • Enkapsulacja Pola (184)
  • Enkapsulacja Kolekcji (185)
  • Zastąpienie Rekordu Klasą z Danymi (193)
  • Zastąpienie Kodu Typu Klasą (194)
  • Zastąpienie Kodu Typu Podklasami (199)
  • Zastąpienie Kodu Typu Wzorcem Stan lub Strategia (202)
  • Zastąpienie Podklasy Polami (207)

9. Upraszczanie wyrażeń warunkowych (211)

  • Dekompozycja Instrukcji Warunkowej (212)
  • Scalenie Instrukcji Warunkowej (214)
  • Scalenie Zduplikowanych Fragmentów Instrukcji Warunkowej (217)
  • Usunięcie Flagi Kontrolnej (219)
  • Zastąpienie Zagnieżdżonej Instrukcji Warunkowej Instrukcją Wyjścia (224)
  • Zastąpienie Instrukcji Warunkowej Polimorfizmem (229)
  • Wprowadzenie Obiektu Pustego (233)
  • Wprowadzenie Asercji (240)

10. Upraszczanie wywołań metod (243)

  • Zmiana Nazwy Metody (245)
  • Dodanie Parametru (247)
  • Usunięcie Parametru (249)
  • Rozdzielenie Zapytania i Modyfikacji (251)
  • Parametryzacja Metody (255)
  • Zastąpienie Parametru Metodami o Różnych Nazwach (257)
  • Przekazanie Całego Obiektu (260)
  • Zastąpienie Parametru Metodą (263)
  • Wprowadzenie Obiektu Parametrycznego (266)
  • Usunięcie Metody Ustawiającej Wartość (270)
  • Ukrycie Metody (273)
  • Zastąpienie Konstruktora Metodą Wytwórczą (274)
  • Enkapsulacja Rzutowania w Dół Hierarchii (278)
  • Zastąpienie Kodu Błędu Wyjątkiem (280)
  • Zastąpienie Wyjątku Testem (285)

11. Praca z hierarchią dziedziczenia (289)

  • Przesunięcie Pola w Górę Hierarchii (290)
  • Przesunięcie Metody w Górę Hierarchii (291)
  • Przesunięcie Ciała Konstruktora w Górę Hierarchii (294)
  • Przesunięcie Metody w Dół Hierarchii (297)
  • Przesunięcie Pola w Dół Hierarchii (298)
  • Ekstrakcja Podklasy (299)
  • Ekstrakcja Nadklasy (304)
  • Ekstrakcja Interfejsu (308)
  • Zwinięcie Hierarchii (311)
  • Utworzenie Metody Szablonowej (312)
  • Zastąpienie Dziedziczenia Delegacją (319)
  • Zastąpienie Delegacji Dziedziczeniem (322)

12. Duże przekształcenia (325)

  • Rozplątanie Hierarchii Dziedziczenia (327)
  • Przekształcenie Projektu Proceduralnego na Obiekty (332)
  • Oddzielenie Dziedziny od Prezentacji (334)
  • Ekstrakcja Hierarchii (338)

13. Refaktoryzacja i reużywalność a rzeczywistość (343)

  • Zejście na ziemię (344)
  • Dlaczego programiści nie chcą refaktoryzować własnych programów? (345)
  • Zejście na ziemię (raz jeszcze) (354)
  • Materiały na temat refaktoryzacji (355)
  • Sugestie na temat wielokrotnego wykorzystania kodu i transferu technologii (355)
  • Na koniec (356)
  • Bibliografia (356)

14. Narzędzia refaktoryzacyjne (359)

  • Refaktoryzacja z wykorzystaniem narzędzia (359)
  • Techniczne kryteria narzędzia refaktoryzacyjnego (360)
  • Praktyczne kryteria narzędzia refaktoryzacyjnego (362)
  • Podsumowanie (363)

15. Wykorzystanie zdobytej wiedzy (365)

Bibliografia (369)

Lista refaktoryzacji (373)

Brzydkie zapaszki i ich przekształcenia (375)

Skorowidz (377)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-3456-4
Rozmiar pliku: 3,2 MB

BESTSELLERY

Kategorie: