Adaptywny kod. Zwinne programowanie, wzorce projektowe i SOLID-ne zasady. Wydanie II
- Autor:
- Gary McLean Hall
- Promocja 2za1
- Wydawnictwo:
- Helion
- Ocena:
- 6.0/6 Opinie: 2
- Stron:
- 400
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis książki: Adaptywny kod. Zwinne programowanie, wzorce projektowe i SOLID-ne zasady. Wydanie II
Tworzenie oprogramowania nie może być procesem powolnym. Dziś zespoły projektowe muszą cechować się elastycznością i dynamiką działania, aby odnieść sukces. Wymagania stawiane kodowi mogą wielokrotnie się zmieniać podczas projektu. Oznacza to, że wprowadzanie zmian do kodu powinno być proste i możliwie mało pracochłonne. Deweloperzy, którzy wdrożą zasady programowania zwinnego i będą przestrzegać związanych z nimi dobrych praktyk, będą w stanie sprostać tym wymaganiom.
Niniejsza książka jest przeznaczona dla średnio zaawansowanych programistów, którzy dobrze opanowali tworzenie kodu zorientowanego obiektowo i chcą przyswoić sobie najlepsze praktyki programistyczne. Książka stanowi pomost między teorią a praktyką, ułatwiający wdrożenie w codziennej pracy wzorców projektowych, zasad SOLID, testów jednostkowych czy refaktoringu. Wyjaśniono tu stosowanie zawiłych reguł, takich jak „otwarte – zamknięte”, zasad podstawienia Liskova, metod wstrzykiwania zależności czy zwiększania adaptywności kodu za pomocą interfejsów. Przedstawiono również pewne antywzorce projektowe wraz ze wskazówkami, w jaki sposób można ich uniknąć i zapewnić potrzebną funkcjonalność bez utraty elastyczności kodu.
Najważniejsze zagadnienia:
- metodologie Scrum i kanban,
- zależności i warstwy architektury kodu,
- testy i refaktoring,
- odwracanie zależności,
- wiązanie i spójność kodu.
Gary McLean Hall jest programistą i architektem oprogramowania. Jest cenionym konsultantem, który specjalizuje się w dobrych wzorcach i praktykach programistycznych. Pracował w wielu zespołach ukierunkowanych na tworzenie adaptywnego kodu w takich firmach, jak Eidos, Xerox, Nephila Capital czy The LateRooms Group. W swojej pracy zawsze szukał złotego środka pomiędzy tworzeniem funkcjonalnego produktu i wysokiej jakości jego kodu źródłowego. Kod adaptywny: solidny, elastyczny i łatwy w utrzymaniu!
Wybrane bestsellery
-
O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, „czysty” kod i czym właściwie powinien się on charakteryzować. Co więcej – jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzen...(0,00 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł(-35%) -
Branża IT kusi licznymi ofertami pracy, atrakcyjnymi zarobkami i ciekawymi ścieżkami rozwoju nie tylko zawodowych programistów, lecz również osoby bez wykształcenia informatycznego czy doświadczenia w tej dziedzinie. Te ostatnie zwykle zaczynają karierę od roli testera aplikacji. Jednym z podstaw...(0,00 zł najniższa cena z 30 dni)
57.85 zł
89.00 zł(-35%) -
Dave Thomas i Andy Hunt napisali pierwsze wydanie tej wpływowej książki w 1999 roku, aby pomóc swoim klientom tworzyć lepsze oprogramowanie i na nowo odnaleźć radość z kodowania. Nauki płynące z tamtego wydania pomogły wielu pokoleniom programistów zbadać istotę rozwoju oprogramowania, niezależni...
Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II
(0,00 zł najniższa cena z 30 dni)50.05 zł
77.00 zł(-35%) -
Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów Podręcznik profesjonalnego programisty! Robert C. Martin, znany jako Uncle Bob, to jeden z prawdziwych gwiazdorów branży IT, człowiek o niezwykłej charyzmie, rewelacyjnym podejściu do słuchaczy i poczuciu h...
Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów
(0,00 zł najniższa cena z 30 dni)31.85 zł
49.00 zł(-35%) -
W tej książce w sposób jasny i bardzo interesujący przedstawiono uniwersalne zasady architektury oprogramowania wraz z szeregiem wskazówek dotyczących stosowania tych reguł w praktyce. Wyczerpująco zaprezentowano tu dostępne rozwiązania i wyjaśniono, dlaczego są one tak istotne dla sukcesu przeds...
Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
(0,00 zł najniższa cena z 30 dni)57.85 zł
89.00 zł(-35%) -
To kolejne wydanie lubianego samouczka, dzięki któremu w ramach 24 godzinnych lekcji przyswoisz solidne podstawy programowania. Zrozumiesz, jak działają programy, i nauczysz się reguł stosowanych przez profesjonalistów przy ich projektowaniu. Dowiesz się, jak wygląda świat programistów i na czym ...
Programowanie dla początkujących w 24 godziny. Wydanie IV Programowanie dla początkujących w 24 godziny. Wydanie IV
(0,00 zł najniższa cena z 30 dni)41.40 zł
69.00 zł(-40%) -
Trzech poważanych architektów oprogramowania omawia cały cykl życia, prezentując praktyczne wskazówki, metody stosowane przez ekspertów i sprawdzone modele przydatne w każdym projekcie niezależnie od poziomu jego złożoności. Dowiesz się, jak za pomocą architektury radzić sobie z coraz większymi w...
Architektura oprogramowania w praktyce. Wydanie IV Architektura oprogramowania w praktyce. Wydanie IV
(0,00 zł najniższa cena z 30 dni)64.35 zł
99.00 zł(-35%) -
To drugie wydanie bestsellerowego przewodnika po technikach uczenia maszynowego. Wystarczą minimalne umiejętności programistyczne, aby dzięki tej książce nauczyć się budowania i trenowania głębokiej sieci neuronowej. Zawarto tu minimum teorii, a proces nauki jest ułatwiony przez liczne przykłady ...
Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow. Wydanie II Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow. Wydanie II
(0,00 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
W tej praktycznej książce dokładnie wyjaśniono współczesne podejście do tworzenia architektury baz danych i ich eksploatacji. Jeśli chcesz stać się znakomitym inżynierem niezawodności baz danych, czyli DBRE (z Database Reliability Engineer), znajdziesz tu schemat zasad i praktyk projektowania, bu...
Inżynieria niezawodnych baz danych. Projektowanie systemów odpornych na błędy Inżynieria niezawodnych baz danych. Projektowanie systemów odpornych na błędy
(0,00 zł najniższa cena z 30 dni)35.40 zł
59.00 zł(-40%) -
Tworzenie skomplikowanych systemów informatycznych wymaga nowego podejścia. Dotychczas stosowane metody przestają się sprawdzać i generują mnóstwo problemów. Odpowiedzią na nie jest Domain-Driven Design, w skrócie DDD. W tym podejściu szczególny nacisk kładzie się na tworzenie obiektów dokładnie ...
Domain-Driven Design. Zapanuj nad złożonym systemem informatycznym Domain-Driven Design. Zapanuj nad złożonym systemem informatycznym
(0,00 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%)
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Recenzje książki: Adaptywny kod. Zwinne programowanie, wzorce projektowe i SOLID-ne zasady. Wydanie II (1)
Poniższe recenzje mogły powstać po przekazaniu recenzentowi darmowego egzemplarza poszczególnych utworów bądź innej zachęty do jej napisania np. zapłaty.
-
Programista Magazyn RAFAŁ KOCISZ
Pytanie: co stanowi wspólną cechę wszystkich nowoczesnych technik wytwarzania oprogramowania? Pierwsze, co mi przychodzi do głowy, to elastyczność w reagowaniu na zmiany i zwinność w dopasowywaniu się do nich. W skrócie: bycie adaptywnym. Być może właśnie to słowo-klucz skłoniło mnie do zainteresowania się książką Adaptywny kod. Zwinne programowanie, wzorce projektowe i SOLID-ne zasady. Wydanie II, którą to pozycję chciałbym zaproponować dziś czytelnikom Klubu Dobrej Książki. Adaptywny kod to książka, która bardzo duży nacisk kładzie na praktykę. Celem autora jest szybkie wprowadzenie początkującego adepta programistycznego rzemiosła w świat nowoczesnych, pragmatycznych rozwiązań stosowanych w rzeczywistych projektach. Rozwiązań, które łączy wspólny mianownik: płynność i elastyczność w stosunku do nieustannie zmieniającej się rzeczywistości, w opozycji do wprowadzania sztywnych reguł, kaskadowych procesów czy też zaszywania silnych zależności w kodzie źródłowym oprogramowania. W tym ujęciu słowo "adaptywny" w tytule książki wydaje być się jak najbardziej na miejscu. Patrząc na strukturę książki, widać od razu, jaki to zestaw rozwiązań utożsamiany jest przez autora z nowoczesnym podejściem do procesu wytwarzania oprogramowania. Na pierwszy ogień idą zwinne metodyki zarządzania projektami. W dwóch pierwszych rozdziałach książki przedstawiono najbardziej popularne rozwiązania: Serum i Kanban. Ich opis jest dość pobieżny, ale za to bardzo konkretny i omówiony z punktu widzenia programisty. W kolejnych czterech rozdziałach autor przekierowuje tematykę w obszary związanie z projektowaniem architektury oprogramowania, omawiając takie zagadnienia jak zależności, warstwy, interfejsy, wzorce projektowe, testowanie (na poziomie kodu) oraz refaktoryzację. Czytelnik otrzymuje tu kompaktowy, a zarazem bardzo kompletny przegląd technik projektowania oprogramowania, których konsekwentne stosowanie prowadzi do powstawania kodu odpornego na zmiany, czyli inaczej mówiąc: adaptywnego. Następne pięć rozdziałów poświęconych jest zasadom SOLID, na które składają się: zasada pojedynczej odpowiedzialności, zasada "otwarty/zamknięty", zasada podstawienia Liskov, zasada segregacji interfejsów, zasada odwracania zależności. Każdy rozdział, w którym omówiono poszczególną zasadę, zaczyna się od prezentacji jakiegoś konkretnego problemu projektowego (czytaj: od przedstawienia pewnego problematycznego fragmentu kodu), po czym autor krok po kroku przeprowadza czytelnika przez proces naprawy, prowadzący do rozwiązania bardziej czytelnego i elastycznego, spełniającego warunki omawianej zasady. W ostatnich dwóch rozdziałach skupiono się na omówieniu mechanizmu wstrzykiwania zależności oraz pojęć sprzężenia, spójności i współzależności. Książka zawiera też jeden dodatek, w którym omówiono adaptywne narzędzia wspomagające pracę programisty: mechanizm kontroli wersji kodu źródłowego Git oraz koncepcję systemu ciągłej integracji. Patrząc na całość opracowania, wydaje się, iż autor postawił sobie za cel przekonanie czytelnika, że adaptywność w procesie wytwarzania oprogramowania powinna przenikać wszystkie jego warstwy: poczynając od doboru narzędzi i niskopoziomowych technik kodowania, poprzez projektowanie architektury, kończąc na metodologii zarządzania projektem. Sądzę, że lektura tej książki będzie niezwykle cenna, przede wszystkim dla świeżo upieczonych programistów, ale również na tych, którzy zjedli zęby na niejednym projekcie. Polecam!
Szczegóły książki
- Tytuł oryginału:
- Adaptive Code: Agile coding with design patterns and SOLID principles (2nd Edition) (Developer Best Practices)
- Tłumaczenie:
- Jakub Hubisz, Andrzej Watrak
- ISBN Książki drukowanej:
- 978-83-283-3870-8, 9788328338708
- Data wydania książki drukowanej:
- 2017-12-08
- ISBN Ebooka:
- 978-83-283-3871-5, 9788328338715
- Data wydania ebooka:
-
2017-12-08
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Format:
- 170x230
- Numer z katalogu:
- 66308
- Rozmiar pliku Pdf:
- 4.9MB
- Rozmiar pliku ePub:
- 7.1MB
- Rozmiar pliku Mobi:
- 15.4MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
Spis treści książki
- Scrum kontra model kaskadowy (24)
- Role i obowiązki (26)
- Właściciel produktu (26)
- Scrum master (27)
- Zespół deweloperski (28)
- Artefakty (29)
- Tablica Scruma (29)
- Wykresy i wskaźniki (41)
- Rejestry (45)
- Sprint (47)
- Planowanie wydania (47)
- Planowanie sprintu (48)
- Codzienne spotkania Scruma (50)
- Demo sprintu (51)
- Retrospektywa sprintu (52)
- Kalendarz Scruma (54)
- Zwinność w prawdziwym świecie (55)
- Sztywność (55)
- Brak testowalności (56)
- Wskaźniki (57)
- Podsumowanie (59)
- Kanban - szybki początek (62)
- Radiator informacyjny (62)
- Ograniczanie pracy w trakcie (66)
- Ochrona przed zmianą (66)
- Definiowanie "ukończenia" (67)
- Ceremonie sterowane zdarzeniami (68)
- Klasy usług (69)
- Umowy o gwarantowanym poziomie świadczenia usług (69)
- Limity WIP dla klas usług (71)
- Ludzie jako klasy usług (71)
- Analiza (72)
- Czas dostarczenia i czas cyklu (72)
- Kumulatywne diagramy przepływu (73)
- Podsumowanie (81)
- Zależności (86)
- Prosty przykład (87)
- Zależności platformowe (90)
- Zależności zewnętrzne (92)
- Modelowanie zależności za pomocą grafu skierowanego (93)
- Zarządzanie zależnościami (97)
- Implementacje i interfejsy (97)
- Zapach instrukcji new (98)
- Alternatywne sposoby tworzenia obiektów (101)
- Rozwiązywanie zależności (103)
- Zarządzanie zależnościami za pomocą projektów NuGet (112)
- Warstwy (117)
- Popularne wzorce warstwowania (118)
- Zagadnienia przecinające (123)
- Warstwowanie asymetryczne (124)
- Podsumowanie (126)
- Czym jest interfejs? (127)
- Składnia (128)
- Jawna implementacja (130)
- Polimorfizm (134)
- Wzorce tworzenia adaptywnego kodu (135)
- Wzorzec Zerowy Obiekt (135)
- Wzorzec Adapter (140)
- Wzorzec Strategia (143)
- Dodatkowe funkcjonalności (145)
- Kacze typowanie (145)
- Domieszki (149)
- Płynne interfejsy (153)
- Podsumowanie (155)
- Testy jednostkowe (158)
- Przygotuj, wykonaj, zweryfikuj (158)
- Programowanie sterowane testami (162)
- Bardziej zaawansowane testy (166)
- Wzorce testów jednostkowych (180)
- Tworzenie elastycznych testów (180)
- Wzorzec Budowniczy testów jednostkowych (182)
- Wzorzec Budowniczy (182)
- Uwidacznianie przeznaczenia testu jednostkowego (183)
- Przede wszystkim testy (185)
- Co to jest TDD? (185)
- Wzorzec TDD (186)
- Wzorzec TFD (187)
- Inne testy (187)
- Piramida testów (188)
- Przeciwieństwa piramidy testów (189)
- Diagram testowy (190)
- Testy profilaktyczne i lecznicze (192)
- Jak zmniejszyć wskaźnik MTTR? (193)
- Podsumowanie (194)
- Wprowadzenie do refaktoryzacji (195)
- Zmiana istniejącego kodu (196)
- Nowy typ konta (204)
- Agresywna refaktoryzacja (208)
- Czerwone - zielone - refaktoryzacja... Przeprojektowanie (209)
- Adaptacja zastanego kodu (209)
- Technika złotego wzorca (210)
- Podsumowanie (216)
- Opis problemu (219)
- Refaktoryzacja poprawiająca czytelność kodu (222)
- Refaktoryzacja zwiększająca abstrakcyjność kodu (226)
- Zasada pojedynczej odpowiedzialności i wzorzec Dekorator (233)
- Wzorzec Kompozyt (234)
- Dekoratory predykatu (237)
- Dekoratory warunkowe (240)
- Leniwe dekoratory (241)
- Dekoratory logujące (242)
- Dekoratory profilujące (243)
- Dekorowanie właściwości i zdarzeń (246)
- Podsumowanie (247)
- Wprowadzenie do zasady "otwarty/zamknięty" (249)
- Definicja Meyera (249)
- Definicja Martina (250)
- Usuwanie błędów (250)
- "Świadomość" kodu klienckiego (251)
- Punkty rozszerzeń (251)
- Kod bez punktów rozszerzeń (251)
- Metody wirtualne (252)
- Metody abstrakcyjne (253)
- Dziedziczenie interfejsu (254)
- "Projektuj pod kątem dziedziczenia albo blokuj dziedziczenie" (254)
- Chroniona zmienność (255)
- Przewidywana zmienność (255)
- Stabilny interfejs (255)
- Właściwa adaptywność (256)
- Przewidywana zmienność a spekulatywne uogólnienie (256)
- Potrzebujesz aż tylu interfejsów? (257)
- Podsumowanie (258)
- Wprowadzenie do zasady podstawienia Liskov (259)
- Oficjalna definicja zasady LSP (259)
- Reguły tworzące zasadę LSP (260)
- Kontrakty (261)
- Warunki początkowe (262)
- Warunki końcowe (263)
- Inwarianty (264)
- Reguły kontraktowe w zasadzie LSP (266)
- Kontrakty kodu (272)
- Kowariancja i kontrawariancja (278)
- Definicje (278)
- Reguły systemu typów w zasadzie LSP (284)
- Podsumowanie (287)
- Przykład segregacji interfejsów (289)
- Prosty interfejs CRUD (290)
- Zapamiętywanie danych (295)
- Dekorowanie wielu interfejsów (298)
- Tworzenie kodu klienckiego (300)
- Wiele implementacji, wiele instancji (301)
- Jedna implementacja, jedna instancja (303)
- Antywzorzec "interfejsowa mieszanka" (304)
- Dzielenie interfejsów (304)
- Wymagania kodu klienckiego (304)
- Wymagania architektury aplikacji (310)
- Interfejsy z pojedynczymi metodami (314)
- Podsumowanie (315)
- Planowanie zależności (317)
- Antywzorzec Świta (318)
- Wzorzec Schody (320)
- Przykład abstrakcyjnego projektu (321)
- Abstrakcje (322)
- Konkretne polecenia (322)
- Wyodrębnianie funkcjonalności (325)
- Ulepszony kod kliencki (329)
- Abstrakcje obsługujące zapytania (332)
- Dalsze abstrakcje (333)
- Podsumowanie (334)
- Skromne początki (337)
- Aplikacja Lista zadań (340)
- Tworzenie grafu obiektów (342)
- Nie tylko proste wstrzykiwanie (358)
- Antywzorzec Lokalizator Usług (358)
- Wzorzec Nielegalne Wstrzykiwanie (361)
- Korzeń kompozycji (363)
- Konwencje zamiast konfiguracji (368)
- Podsumowanie (371)
- Sprzężenie i spójność kodu (373)
- Sprzężenie (373)
- Spójność (374)
- Współzależność (375)
- Nazwa (376)
- Typ (377)
- Znaczenie (377)
- Algorytm (378)
- Pozycja (379)
- Kolejność wykonania (379)
- Czas (379)
- Wartość (379)
- Tożsamość (380)
- Określanie stopnia współzależności (380)
- Lokalność (380)
- Nieoficjalna współzależność (380)
- Współzależność statyczna i dynamiczna (381)
- Podsumowanie (381)
- Kontrola kodu źródłowego w systemie Git (385)
- Tworzenie kopii repozytorium (387)
- Przełączenie na inną gałąź (388)
- Ciągła integracja (388)
Wprowadzenie (11)
CZĘŚĆ I. FRAMEWORKI ZWINNE
Rozdział 1. Wprowadzenie do metodologii Scrum (21)
Rozdział 2. Wprowadzenie do metodologii kanban (61)
CZĘŚĆ II. PODSTAWY TWORZENIA ADAPTYWNEGO KODU
Rozdział 3. Zależności i warstwy (85)
Rozdział 4. Interfejsy i wzorce projektowe (127)
Rozdział 5. Testy (157)
Rozdział 6. Refaktoryzacja (195)
CZĘŚĆ III. SOLID-NY KOD
Rozdział 7. Zasada pojedynczej odpowiedzialności (219)
Rozdział 8. Zasada "otwarty/zamknięty" (249)
Rozdział 9. Zasada podstawienia Liskov (259)
Rozdział 10. Segregacja interfejsów (289)
Rozdział 11. Odwracanie zależności (317)
CZĘŚĆ IV. STOSOWANIE ADAPTYWNYCH TECHNIK
Rozdział 12. Wstrzykiwanie zależności (337)
Rozdział 13. Sprzężenie, spójność, współzależność (373)
DODATKI
Dodatek. Adaptywne narzędzia (385)
Skorowidz (391)
Oceny i opinie klientów: Adaptywny kod. Zwinne programowanie, wzorce projektowe i SOLID-ne zasady. Wydanie II Gary McLean Hall (2)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(2)
(0)
(0)
(0)
(0)
(0)
Tomasz Strzałka,
Data dodania: 2018-09-13 Ocena: 6 Opinia potwierdzona zakupem
Paweł, Java developer
Data dodania: 2018-01-29 Ocena: 6 Opinia niepotwierdzona zakupem
więcej opinii