reklama - zainteresowany?

Praca z zastanym kodem. Najlepsze techniki - Helion

Praca z zastanym kodem. Najlepsze techniki
ebook
Autor: Michael Feathers
Tytuł oryginału: Working Effectively with Legacy Code
Tłumaczenie: Ireneusz Jakóbik
ISBN: 978-83-246-8318-5
stron: 440, Format: ebook
Data wydania: 0000-00-00
Księgarnia: Helion

Cena książki: 79,00 zł

Dodaj do koszyka Praca z zastanym kodem. Najlepsze techniki

Tagi: Inne - Programowanie | programowanie-kupon

Naucz się pracować na gotowych projektach!

Programiści uwielbiają brać udział w nowych projektach, być świadkami ewolucji kodu, mieć wpływ na wybór narzędzi i projektować ich architekturę. Niestety, w ogromnej większości przypadków muszą pracować z kodem mającym wiele lat i pisanym przez wiele osób. Jak sobie poradzić w takim środowisku? Jak dobrać techniki pracy do gotowego kodu? Na te i wiele innych podobnych pytań odpowiada ten wyjątkowy podręcznik.

Dzięki niemu dowiesz się, jak wprowadzać zmiany w zastanym kodzie, tworzyć testy automatyczne oraz modyfikować architekturę rozwiązania. Ponadto poznasz najlepsze techniki pracy z projektami niezorientowanymi obiektowo oraz przekonasz się, że można skutecznie poradzić sobie z przerośniętymi klasami i metodami. Ostatnia część książki została poświęcona technikom usuwania zależności. Ten podręcznik to lektura obowiązkowa każdego programisty. Dzięki niemu Twoja praca z zastanym kodem nabierze nowego sensu. Musisz ją mieć!

Dzięki tej książce:

  • poradzisz sobie z zastanym kodem
  • nauczysz siÄ™ wprowadzać w nim zmiany
  • zastosujesz testy automatyczne
  • przeprowadzisz skutecznÄ… refaktoryzacjÄ™

Praca z zastanym kodem nie musi być nużąca!

Dodaj do koszyka Praca z zastanym kodem. Najlepsze techniki

 

Osoby które kupowały "Praca z zastanym kodem. Najlepsze techniki", wybierały także:

  • DevOps w praktyce. Kurs video. Jenkins, Ansible, Terraform i Docker
  • Wyrażenia regularne od podstaw
  • Projektowanie systemów rozproszonych. Wzorce i paradygmaty dla skalowalnych, niezawodnych usÅ‚ug
  • Zrozum struktury danych. Algorytmy i praca na danych w Javie
  • Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa

Dodaj do koszyka Praca z zastanym kodem. Najlepsze techniki

Spis treści

Praca z zastanym kodem. Najlepsze techniki eBook -- spis treści

Słowo wstępne (9)

Przedmowa (11)

Wstęp (17)

CZĘŚĆ I: MECHANIKA ZMIAN (19)

Rozdział 1. Zmiany w oprogramowaniu (21)

  • Cztery powody wprowadzania zmian w oprogramowaniu (21)
  • Ryzykowna zmiana (25)

Rozdział 2. Praca z informacją zwrotną (27)

  • Co to jest testowanie jednostkowe? (30)
  • Testy wyższego poziomu (32)
  • Pokrycie testami (33)
  • Algorytm dokonywania zmian w cudzym kodzie (36)

Rozdział 3. Rozpoznanie i separowanie (39)

  • FaÅ‚szywi wspóÅ‚pracownicy (41)

Rozdział 4. Model spoinowy (47)

  • Ogromny arkusz z tekstem (47)
  • Spoiny (48)
  • Rodzaje spoin (51)

Rozdział 5. Narzędzia (63)

  • NarzÄ™dzia do automatycznej refaktoryzacji (63)
  • Obiekty pozorowane (65)
  • Jarzmo testowania jednostkowego (66)
  • Ogólne jarzmo testowe (71)

CZĘŚĆ II: ZMIANY W OPROGRAMOWANIU (73)

Rozdział 6. Nie mam zbyt wiele czasu, a muszę to zmienić (75)

  • KieÅ‚kowanie metody (77)
  • KieÅ‚kowanie klasy (80)
  • Opakowywanie metody (85)
  • Opakowywanie klasy (88)
  • Podsumowanie (93)

Rozdział 7. Dokonanie zmiany trwa całą wieczność (95)

  • Zrozumienie (95)
  • Opóźnienie (96)
  • Usuwanie zależnoÅ›ci (97)
  • Podsumowanie (102)

Rozdział 8. Jak mogę dodać nową funkcjonalność? (103)

  • Programowanie sterowane testami (104)
  • Programowanie różnicowe (110)
  • Podsumowanie (119)

Rozdział 9. Nie mogę umieścić tej klasy w jarzmie testowym (121)

  • Przypadek irytujÄ…cego parametru (121)
  • Przypadek ukrytej zależnoÅ›ci (128)
  • Przypadek konstrukcyjnego kÅ‚Ä™bowiska (131)
  • Przypadek irytujÄ…cej zależnoÅ›ci globalnej (133)
  • Przypadek straszliwych zależnoÅ›ci dyrektyw include (141)
  • Przypadek cebulowego parametru (144)
  • Przypadek zaliasowanego parametru (147)

Rozdział 10. Nie mogę uruchomić tej metody w jarzmie testowym (151)

  • Przypadek ukrytej metody (152)
  • Przypadek "pomocnych" funkcji jÄ™zyka (155)
  • Przypadek niewykrywalnych skutków ubocznych (158)

RozdziaÅ‚ 11. MuszÄ™ dokonać zmian. Które metody powinienem przetestować? (165)

  • MyÅ›lenie o skutkach (166)
  • Åšledzenie w przód (171)
  • Propagacja skutków (176)
  • NarzÄ™dzia do wyszukiwania skutków (177)
  • WyciÄ…ganie wniosków z analizy skutków (179)
  • Upraszczanie schematów skutków (180)

RozdziaÅ‚ 12. MuszÄ™ dokonać wielu zmian w jednym miejscu. Czy powinienem pousuwać zależnoÅ›ci we wszystkich klasach, których te zmiany dotyczÄ…? (183)

  • Punkty przechwycenia (184)
  • Ocena projektu z punktami zwężenia (191)
  • PuÅ‚apki w punktach zwężenia (192)

Rozdział 13. Muszę dokonać zmian, ale nie wiem, jakie testy napisać (195)

  • Testy charakteryzujÄ…ce (196)
  • Charakteryzowanie klas (199)
  • Testowanie ukierunkowane (200)
  • Heurystyka pisania testów charakteryzujÄ…cych (205)

Rozdział 14. Dobijają mnie zależności biblioteczne (207)

Rozdział 15. Cała moja aplikacja to wywołania API (209)

Rozdział 16. Nie rozumiem wystarczająco dobrze kodu, żeby go zmienić (219)

  • Notatki i rysunki (220)
  • Adnotowanie listingów (221)
  • Szybka refaktoryzacja (222)
  • Usuwanie nieużywanego kodu (223)

Rozdział 17. Moja aplikacja nie ma struktury (225)

  • Opowiadanie historii systemu (226)
  • Puste karty CRC (230)
  • Analiza rozmowy (232)

RozdziaÅ‚ 18. Przeszkadza mi mój testowy kod (235)

  • Konwencje nazewnicze klas (235)
  • Lokalizacja testu (236)

RozdziaÅ‚ 19. Mój projekt nie jest zorientowany obiektowo. Jak mogÄ™ bezpiecznie wprowadzać zmiany? (239)

  • Prosty przypadek (240)
  • Przypadek trudny (241)
  • Dodawanie nowego zachowania (244)
  • Korzystanie z przewagi zorientowania obiektowego (247)
  • Wszystko jest zorientowane obiektowo (250)

Rozdział 20. Ta klasa jest za duża, a ja nie chcę, żeby stała się jeszcze większa (253)

  • Dostrzeganie odpowiedzialnoÅ›ci (257)
  • Inne techniki (269)
  • Posuwanie siÄ™ naprzód (270)
  • Po wyodrÄ™bnieniu klasy (273)

Rozdział 21. Wszędzie zmieniam ten sam kod (275)

  • Pierwsze kroki (278)

RozdziaÅ‚ 22. MuszÄ™ zmienić monstrualnÄ… metodÄ™, lecz nie mogÄ™ napisać do niej testów (293)

  • Rodzaje monstrów (294)
  • Stawianie czoÅ‚a monstrom przy wsparciu automatycznej refaktoryzacji (297)
  • Wyzwanie rÄ™cznej refaktoryzacji (300)
  • Strategia (307)

Rozdział 23. Skąd mam wiedzieć, czy czegoś nie psuję? (311)

  • SuperÅ›wiadome edytowanie (312)
  • Edytowanie jednego elementu naraz (313)
  • Zachowywanie sygnatur (314)
  • Wsparcie kompilatora (317)
  • Programowanie w parach (318)

Rozdział 24. Czujemy się przytłoczeni. Czy nie będzie chociaż trochę lepiej? (321)

CZĘŚĆ III: TECHNIKI USUWANIA ZALEŻNOŚCI (325)

Rozdział 25. Techniki usuwania zależności (327)

  • Adaptacja parametru (328)
  • WyÅ‚onienie obiektu metody (332)
  • UzupeÅ‚nianie definicji (338)
  • Hermetyzacja referencji globalnej (340)
  • Upublicznienie metody statycznej (346)
  • WyodrÄ™bnienie i przesÅ‚oniÄ™cie wywoÅ‚ania (349)
  • WyodrÄ™bnienie i przesÅ‚oniÄ™cie metody wytwórczej (351)
  • WyodrÄ™bnienie i przesÅ‚oniÄ™cie gettera (353)
  • WyodrÄ™bnienie implementera (356)
  • WyodrÄ™bnienie interfejsu (361)
  • Wprowadzenie delegatora instancji (367)
  • Wprowadzenie statycznego settera (370)
  • ZastÄ™powanie biblioteki (375)
  • Parametryzacja konstruktora (377)
  • Parametryzacja metody (381)
  • Uproszczenie parametru (383)
  • PrzesuniÄ™cie funkcjonalnoÅ›ci w górÄ™ hierarchii (386)
  • PrzesuniÄ™cie zależnoÅ›ci w dóÅ‚ hierarchii (390)
  • ZastÄ…pienie funkcji wskaźnikiem do funkcji (393)
  • ZastÄ…pienie referencji globalnej getterem (396)
  • Utworzenie podklasy i przesÅ‚oniÄ™cie metody (398)
  • ZastÄ…pienie zmiennej instancji (401)
  • Przedefiniowanie szablonu (405)
  • Przedefiniowanie tekstu (409)

Dodatek: Refaktoryzacja (411)

  • WyodrÄ™bnianie metody (411)

SÅ‚ownik (415)

Skorowidz (417)

Dodaj do koszyka Praca z zastanym kodem. Najlepsze techniki

Code, Publish & WebDesing by CATALIST.com.pl



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