Czysty kod. Receptury. Przepisy na poprawienie struktury i jakości Twojego kodu
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 376
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Czysty kod. Receptury. Przepisy na poprawienie struktury i jakości Twojego kodu
Funkcjonalność oprogramowania nieustannie się poszerza, a nowoczesny kod jest coraz częściej generowany przez narzędzia oparte na sztucznej inteligencji. W tych warunkach czystość kodu staje się niezwykle ważna. Niezależnie od tego, czy pracujesz na oprogramowaniu zastrzeżonym, czy otwartym, czysty kod jest najlepszym sposobem na to, aby zachować świeżość projektów i ich gotowość do rozwoju.
Oto książka wsparta głęboką teorią i wieloma praktycznymi przykładami pisania czystego kodu!
Daniel Moka, inżynier oprogramowania, Moka IT
Receptury zawarte w tym zbiorze pozwalają nie tylko zrozumieć koncepcję czystego kodu, ale również poznać zasady identyfikacji kodu wymagającego poprawy i oceny wpływu refaktoryzacji na kod produkcyjny. Poza recepturami opisano tu potrzebne narzędzia i przedstawiono wskazówki dotyczące technik zmieniania kodu ― wraz z licznymi przykładami. Omówiono ponadto różne praktyki, heurystyki i reguły projektowania oprogramowania w sposób zapewniający jego niezawodność, łatwość testowania, bezpieczeństwo i skalowalność. Docenisz, że przykłady kodu zostały przedstawione w kilku nowoczesnych językach programowania. Dzięki temu receptury zawarte w tym przewodniku są przydatne niezależnie od używanego języka.
W książce:
- znaczenie czystego kodu i identyfikacja możliwości jego poprawy
- techniki refaktoryzacji
- zestaw przykładów w kilku współczesnych językach programowania
- brzydkie zapachy kodu, ich konsekwencje i potencjalne rozwiązania
- techniki pisania prostego, czytelnego kodu
W tej książce doskonale uchwycono głęboką wiedzę o tworzeniu oprogramowania!
Alex Bunardzic, deweloper i instruktor
Inżynierowie i architekci oprogramowania, którzy pracują z dużymi, skomplikowanymi bazami kodu, muszą skalować je i rozwijać w efektywny sposób. W tym zbiorze receptur Maximiliano Contieri wykracza poza koncepcję czystego kodu i pokazuje, jak identyfikować okazje do poprawy i jak oceniać ich wpływ na kod produkcyjny. Techniki te zapewniają liczne korzyści i spłacają się z biegiem czasu, zwiększając niezawodność i wspomagając ewolucję systemów.
Na rzeczywistych przykładach zaczerpniętych z JavaScriptu, PHP, Pythona, Javy i wielu innych języków programowania książka ta podaje sprawdzone receptury, które pomagają skalować i konserwować duże systemy. Każdy rozdział omawia fundamentalne koncepcje, takie jak niezawodność, sprzężenie, łatwość testowania, bezpieczeństwo i rozszerzalność, a także "brzydkie zapachy" kodu i receptury, które pomagają sobie z nimi poradzić.
W miarę lektury książki rośnie złożoność receptur refaktoryzacyjnych oraz rozwiązywanych przez nie problemów:
- Zrozumiesz znaczenie czystego kodu i dowiesz się, jak identyfikować okazje do poprawy
- Nauczysz się technik refaktoryzacji
- Zrozumiesz teorię stojącą za czystym kodem
- Zapoznasz się z rzeczywistymi przykładami w kilku współczesnych językach programowania
- Poznasz różne brzydkie zapachy kodu, ich konsekwencje oraz potencjalne rozwiązania
- Dowiesz się, jak pisać kod, który przechodzi prosto do rzeczy, faworyzując czytelność i naukę
"Bardzo pouczająca książka wsparta głęboką teorią i wieloma praktycznymi przykładami pisania czystego kodu. Gorąco polecam każdemu, kto chce tworzyć oprogramowanie wysokiej jakości".
Daniel Moka, inżynier oprogramowania, Moka IT
"Maxi jest człowiekiem nauki stosowanej, którego głęboka wiedza w zakresie tworzenia oprogramowania została doskonale uchwycona w tej książce".
Alex Bunardzic, deweloper i instruktor
Wybrane bestsellery
-
Often, software engineers and architects work with large, complex code bases that they need to scale and maintain. With this cookbook, author Maximiliano Contieri takes you beyond the concept of clean code by showing you how to identify improvement opportunities and their impact on production cod...(175.85 zł najniższa cena z 30 dni)
175.80 zł
239.00 zł(-26%) -
W tej książce omówiono wewnętrzny sposób działania frameworka Kubernetes i pokazano, jak za jego pomocą budować wydajne, niezawodne i odporne na awarie aplikacje natywnej chmury. Dowiesz się, jak kontenery używają przestrzeni nazw w celu izolowania procesów, a także jak korzystają z funkcjonalnoś...(53.40 zł najniższa cena z 30 dni)
71.20 zł
89.00 zł(-20%) -
Jeśli zastanawiasz się nad przekwalifikowaniem i karierą w branży informatycznej albo chcesz poszerzyć swoje umiejętności o programowanie, ale wydaje Ci się ono czarną magią, zapewniamy - w programowaniu nie ma nic z magii. To proces polegający na tworzeniu zbioru instrukcji, dzięki którym komput...(23.94 zł najniższa cena z 30 dni)
31.92 zł
39.90 zł(-20%) -
Ta zwięzła publikacja przyda się profesjonalistom, którzy lubią drobne ulepszenia prowadzące do dużych korzyści. Zrozumiale wyjaśniono w niej, na czym polega proces tworzenia czystego i niezawodnego kodu. W rozsądnej dawce podano zagadnienia teoretyczne, takie jak sprzężenie, kohezja, zdyskontowa...(29.94 zł najniższa cena z 30 dni)
39.92 zł
49.90 zł(-20%) -
Dzięki tej książce dowiesz się, jak pozyskiwać, analizować i wizualizować dane, a potem używać ich do rozwiązywania problemów biznesowych. Wystarczy, że znasz podstawy Pythona i matematyki na poziomie liceum, aby zacząć stosować naukę o danych w codziennej pracy. Znajdziesz tu szereg praktycznych...(41.40 zł najniższa cena z 30 dni)
55.20 zł
69.00 zł(-20%) -
Dzięki tej książce poznasz od podstaw Gita i GitLaba. Dowiesz się, jak skonfigurować runnery GitLaba, a także jak tworzyć i konfigurować potoki dla różnych etapów cyklu rozwoju oprogramowania. Poznasz zasady interpretacji wyników potoków w GitLabie. Nauczysz się też wdrażania kodu w różnych środo...(47.40 zł najniższa cena z 30 dni)
63.20 zł
79.00 zł(-20%) -
ChatGPT, chatbot opracowany i udostępniony przez firmę OpenAI, szybko stał się obiektem zainteresowania internautów na całym świecie — i na nowo wzbudził gorące dyskusje wokół sztucznej inteligencji. Ludzie mediów prześcigają się w skrajnych wizjach, jedni podchodzą do tematu entuzjastyczni...(10.95 zł najniższa cena z 30 dni)
10.95 zł
21.90 zł(-50%) -
Tę książkę docenią przede wszystkim inżynierowie oprogramowania, programiści i administratorzy systemów, którzy muszą szybko zrozumieć praktyki DevOps. Znajdziesz tu bezcenną wiedzę, która ułatwi Ci efektywną pracę z nowoczesnym stosem aplikacji i sprawne przystąpienie do zadań związanych z DevOp...(40.20 zł najniższa cena z 30 dni)
53.60 zł
67.00 zł(-20%) -
Oto przystępny podręcznik wprowadzający w tajniki inżynierii oprogramowania. Kompleksowe ujęcie zagadnienia, od formułowania wymagań, poprzez projektowanie architektury i implementację, po testowanie i wdrożenie, a także skrupulatne omówienie różnorakich metodyk produkcji oprogramowania sprawiają...(47.40 zł najniższa cena z 30 dni)
63.20 zł
79.00 zł(-20%) -
To książka przeznaczona dla programistów zaznajomionych z podstawami języka C# i platformy .NET, chcących zdobyć umiejętność tworzenia rzeczywistych aplikacji i usług. Opisuje wyspecjalizowane biblioteki, które umożliwiają monitorowanie i zwiększanie wydajności aplikacji, zabezpieczanie ich wraz ...(101.40 zł najniższa cena z 30 dni)
135.20 zł
169.00 zł(-20%)
O autorze ebooka
Maximiliano Contieri jest programistą i wykładowcą na Uniwersytecie w Buenos Aires. Pisze na popularnych platformach blogowych o czystym kodzie, refaktoryzacji i brzydkich zapachach kodu. Jest zwolennikiem stosowania fundamentalnych zasad programowania do konstruowania eleganckich, skalowalnych i solidnych rozwiązań.
Ebooka "Czysty kod. Receptury. Przepisy na poprawienie struktury i jakości Twojego kodu" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox 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 "Czysty kod. Receptury. Przepisy na poprawienie struktury i jakości Twojego kodu" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Czysty kod. Receptury. Przepisy na poprawienie struktury i jakości Twojego kodu" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Clean Code Cookbook: Recipes to Improve the Design and Quality of Your Code
- Tłumaczenie:
- Grzegorz Werner
- ISBN Książki drukowanej:
- 978-83-289-1421-6, 9788328914216
- ISBN Ebooka:
- 978-83-289-1422-3, 9788328914223
- Format:
- 165x235
- Numer z katalogu:
- 232148
- Rozmiar pliku Pdf:
- 3.8MB
- Rozmiar pliku ePub:
- 4.6MB
- Rozmiar pliku Mobi:
- 10.6MB
- Pobierz przykładowy rozdział PDF
Spis treści ebooka
- 1.1. Czym jest brzydki zapach kodu?
- 1.2. Co to jest refaktoryzacja?
- 1.3. Co to jest receptura?
- 1.4. Po co czysty kod?
- 1.5. Czytelność, wydajność czy jedno i drugie
- 1.6. Typy oprogramowania
- 1.7. Kod generowany maszynowo
- 1.8. Kwestie nazewnicze
- 1.9. Wzorce projektowe
- 1.10. Paradygmaty języków oprogramowania
- 1.11. Obiekty kontra klasy
- 1.12. Łatwość wprowadzania zmian
- 2.0. Wprowadzenie
- 2.1. Dlaczego model?
- 2.2. Dlaczego abstrakcyjne?
- 2.3. Dlaczego programowalne?
- 2.4. Dlaczego częściowe?
- 2.5. Dlaczego wyjaśnienie?
- 2.6. Dlaczego rzeczywistości?
- 2.7. Wyprowadzanie reguł
- 2.8. Jedna i jedyna zasada projektowania oprogramowania
- 3.0. Wprowadzenie
- 3.1. Przekształcanie obiektów anemicznych we wzbogacone
- 3.2. Identyfikowanie istoty obiektów
- 3.3. Usuwanie metod ustawiających
- 3.4. Usuwanie generatorów anemicznego kodu
- 3.5. Usuwanie właściwości automatycznych
- 3.6. Usuwanie obiektów DTO
- 3.7. Uzupełnianie pustych konstruktorów
- 3.8. Usuwanie metod pobierających
- 3.9. Zapobieganie orgiom obiektów
- 3.10. Usuwanie właściwości dynamicznych
- 4.0. Wprowadzenie
- 4.1. Tworzenie małych obiektów
- 4.2. Reifikacja danych prymitywnych
- 4.3. Reifikacja tablic asocjacyjnych
- 4.4. Usuwanie nadużyć łańcuchów
- 4.5. Reifikacja znaczników czasowych
- 4.6. Reifikacja podzbiorów jako obiektów
- 4.7. Reifikacja walidacji łańcuchów
- 4.8. Usuwanie niepotrzebnych właściwości
- 4.9. Tworzenie interwałów dat
- 5.0. Wprowadzenie
- 5.1. Zmienianie deklaracji var na const
- 5.2. Deklarowanie zmiennych jako zmiennych
- 5.3. Zabranianie zmian istoty
- 5.4. Unikanie mutowalnych tablic stałych
- 5.5. Usuwanie leniwej inicjalizacji
- 5.6. Zamrażanie mutowalnych stałych
- 5.7. Usuwanie skutków ubocznych
- 5.8. Zapobieganie windowaniu
- 6.0. Wprowadzenie
- 6.1. Zawężanie wielokrotnie wykorzystywanych zmiennych
- 6.2. Usuwanie pustych wierszy
- 6.3. Usuwanie wersjonowanych metod
- 6.4. Usuwanie podwójnych zaprzeczeń
- 6.5. Zmienianie źle przypisanych obowiązków
- 6.6. Zastępowanie jawnych iteracji
- 6.7. Dokumentowanie decyzji projektowych
- 6.8. Zastępowanie magicznych liczb stałymi
- 6.9. Oddzielanie "co" od "jak"
- 6.10. Dokumentowanie wyrażeń regularnych
- 6.11. Przekształcanie warunków Yody
- 6.12. Usuwanie dowcipnych metod
- 6.13. Unikanie piekła wywołań zwrotnych
- 6.14. Generowanie dobrych komunikatów o błędach
- 6.15. Unikanie magicznych poprawek
- 7.0. Wprowadzenie
- 7.1. Rozwijanie skrótów
- 7.2. Zmienianie nazw oraz dzielenie klas pomocniczych i narzędziowych
- 7.3. Zmienianie nazw MoichObiektów
- 7.4. Zmienianie nazw zmiennych wynikowych
- 7.5. Zmienianie nazw pochodzących od typów
- 7.6. Zmienianie długich nazw
- 7.7. Zmienianie abstrakcyjnych nazw
- 7.8. Poprawianie pomyłek w pisowni
- 7.9. Usuwanie nazw klas z atrybutów
- 7.10. Usuwanie pierwszej litery z nazw klas i interfejsów
- 7.11. Zmienianie nazw funkcji zawierających słowa Basic/Do
- 7.12. Przekształcanie nazw klas w liczbie mnogiej w liczbę pojedynczą
- 7.13. Usuwanie z nazw słowa "Collection"
- 7.14. Usuwanie z nazw klas przedrostka/przyrostka "Impl"
- 7.15. Zmienianie nazw argumentów według roli
- 7.16. Usuwanie redundantnych nazw parametrów
- 7.17. Usuwanie z nazw bezcelowego kontekstu
- 7.18. Unikanie nazywania obiektów "danymi"
- 8.0. Wprowadzenie
- 8.1. Usuwanie "wykomentowanego" kodu
- 8.2. Usuwanie przestarzałych komentarzy
- 8.3. Usuwanie komentarzy logicznych
- 8.4. Usuwanie komentarzy do metod pobierających
- 8.5. Przekształcanie komentarzy w nazwy funkcji
- 8.6. Usuwanie komentarzy wewnątrz metod
- 8.7. Zastępowanie komentarzy testami
- 9.0. Wprowadzenie
- 9.1. Przestrzeganie standardów kodu
- 9.2. Standaryzowanie wcięć
- 9.3. Unifikowanie wielkości liter
- 9.4. Pisanie kodu po angielsku
- 9.5. Unifikowanie kolejności parametrów
- 9.6. Naprawianie wybitych szyb
- 10.0. Wprowadzenie
- 10.1. Usuwanie powtarzalnego kodu
- 10.2. Usuwanie ustawień/konfiguracji i przełączników funkcji
- 10.3. Zmienianie stanu jako właściwości
- 10.4. Usuwanie z kodu pomysłowości
- 10.5. Łączenie wielu obietnic
- 10.6. Przerywanie długich łańcuchów współpracy
- 10.7. Wyodrębnianie metody do obiektu
- 10.8. Dbanie o konstruktory tablic
- 10.9. Usuwanie poltergeistów
- 11.0. Wprowadzenie
- 11.1. Dzielenie zbyt długich metod
- 11.2. Ograniczanie nadmiaru argumentów
- 11.3. Ograniczanie nadmiaru zmiennych
- 11.4. Usuwanie nadmiaru nawiasów
- 11.5. Usuwanie nadmiaru metod
- 11.6. Dzielenie zbyt licznych atrybutów
- 11.7. Ograniczanie list importu
- 11.8. Dzielenie funkcji wielozadaniowych
- 11.9. Dzielenie grubych interfejsów
- 12.0. Wprowadzenie
- 12.1. Usuwanie martwego kodu
- 12.2. Używanie kodu zamiast diagramów
- 12.3. Refaktoryzowanie klas z jedną podklasą
- 12.4. Usuwanie interfejsów jednorazowych
- 12.5. Usuwanie nadużyć wzorców projektowych
- 12.6. Zastępowanie kolekcji biznesowych
- 13.0. Wprowadzenie
- 13.1. Refaktoryzowanie ponownego przypisywania zmiennych
- 13.2. Egzekwowanie warunków wstępnych
- 13.3. Używanie bardziej rygorystycznych parametrów
- 13.4. Usuwanie wartości domyślnej z instrukcji switch
- 13.5. Unikanie modyfikowania kolekcji podczas ich przetwarzania
- 13.6. Redefiniowanie haszowania i równości
- 13.7. Refaktoryzacja bez zmian funkcjonalnych
- 14.0. Wprowadzenie
- 14.1. Zastępowanie akcydentalnych instrukcji if polimorfizmem
- 14.2. Zmienianie nazw zmiennych sygnalizujących zdarzenia
- 14.3. Reifikacja zmiennych logicznych
- 14.4. Zastępowanie instrukcji switch/case/elseif
- 14.5. Zastępowanie zakodowanych "na sztywno" warunków if kolekcjami
- 14.6. Zmienianie warunków logicznych na zwarciowe
- 14.7. Dodawanie niejawnego warunku else
- 14.8. Poprawianie warunkowego kodu strzałkowego
- 14.9. Unikanie hakerskich zwarć
- 14.10. Poprawianie zagnieżdżonego kodu strzałkowego
- 14.11. Zapobieganie zwracaniu wartości logicznych podczas sprawdzania warunków
- 14.12. Zmienianie porównań z wartościami logicznymi
- 14.13. Wyodrębnianie kodu z długich warunków trójargumentowych
- 14.14. Przekształcanie funkcji niepolimorficznych w polimorficzne
- 14.15. Zmienianie sprawdzania równości
- 14.16. Reifikacja zakodowanych "na sztywno" warunków biznesowych
- 14.17. Usuwanie nieuzasadnionych wartości logicznych
- 14.18. Poprawianie zagnieżdżonych warunków trójargumentowych
- 15.0. Wprowadzenie
- 15.1. Tworzenie obiektów null
- 15.2. Usuwanie opcjonalnego dostępu łańcuchowego
- 15.3. Przekształcanie opcjonalnych atrybutów w kolekcję
- 15.4. Używanie prawdziwych obiektów do reprezentowania wartości null
- 15.5. Reprezentowanie nieznanych lokacji bez użycia null
- 16.0. Wprowadzenie
- 16.1. Unikanie identyfikatorów w obiektach
- 16.2. Usuwanie przedwczesnej optymalizacji
- 16.3. Usuwanie przedwczesnej optymalizacji w postaci operacji bitowych
- 16.4. Ograniczanie nadmiernej generalizacji
- 16.5. Zmienianie optymalizacji strukturalnych
- 16.6. Usuwanie zakotwiczonych łodzi
- 16.7. Wyodrębnianie pamięci podręcznych z obiektów dziedzinowych
- 16.8. Usuwanie zdarzeń opartych na implementacji
- 16.9. Usuwanie kwerend z konstruktorów
- 16.10. Usuwanie kodu z destruktorów
- 17.0. Wprowadzenie
- 17.1. Ujawnianie ukrytych założeń
- 17.2. Zastępowanie singletonów
- 17.3. Rozbijanie boskich obiektów
- 17.4. Rozdzielanie rozbieżnych zmian
- 17.5. Przekształcanie specjalnych flag typu 9999 w normalne wartości
- 17.6. Usuwanie chirurgii strzelbowej
- 17.7. Usuwanie argumentów opcjonalnych
- 17.8. Zapobieganie zawiści funkcjonalnej
- 17.9. Usuwanie pośrednika
- 17.10. Przenoszenie argumentów domyślnych na koniec
- 17.11. Unikanie efektu domina
- 17.12. Usuwanie akcydentalnych metod z obiektów biznesowych
- 17.13. Usuwanie kodu biznesowego z interfejsu użytkownika
- 17.14. Zmienianie sprzężenia z klasami
- 17.15. Refaktoryzacja zbitek danych
- 17.16. Przerywanie niestosownej bliskości
- 17.17. Przekształcanie obiektów wymiennych
- 18.0. Wprowadzenie
- 18.1. Reifikacja funkcji globalnych
- 18.2. Reifikacja funkcji statycznych
- 18.3. Zastępowanie instrukcji goto ustrukturyzowanym kodem
- 18.4. Usuwanie klas globalnych
- 18.5. Zmienianie globalnego tworzenia dat
- 19.0. Wprowadzenie
- 19.1. Eliminowanie głębokiego dziedziczenia
- 19.2. Rozbijanie hierarchii jojo
- 19.3. Eliminowanie subklasyfikacji stosowanej w celu wielokrotnego wykorzystywania kodu
- 19.4. Zastępowanie relacji "jest" działaniem
- 19.5. Usuwanie zagnieżdżonych klas
- 19.6. Zmienianie nazw izolowanych klas
- 19.7. Oznaczanie klas konkretnych jako finalnych
- 19.8. Jawne definiowanie dziedziczenia klas
- 19.9. Migrowanie pustych klas
- 19.10. Opóźnianie przedwczesnej optymalizacji
- 19.11. Usuwanie atrybutów chronionych
- 19.12. Uzupełnianie pustych implementacji
- 20.0. Wprowadzenie
- 20.1. Testowanie metod prywatnych
- 20.2. Dodawanie opisów do asercji
- 20.3. Migrowanie assertTrue do konkretnych asercji
- 20.4. Zastępowanie atrap prawdziwymi obiektami
- 20.5. Dopracowywanie ogólnikowych asercji
- 20.6. Usuwanie niestabilnych testów
- 20.7. Zmienianie asercji z liczbami zmiennoprzecinkowymi
- 20.8. Zmienianie danych testowych w dane realistyczne
- 20.9. Eliminowanie testów naruszających enkapsulację
- 20.10. Usuwanie nieistotnych informacji testowych
- 20.11. Dodawanie pokrycia testowego do każdego wniosku o scalenie
- 20.12. Poprawianie testów zależnych od dat
- 20.13. Nauka nowego języka programowania
- 21.0. Wprowadzenie
- 21.1. Usuwanie kodu zależnego od środowiska produkcyjnego
- 21.2. Usuwanie list znanych defektów
- 21.3. Włączanie ostrzeżeń/ rygorystycznej kontroli błędów
- 21.4. Unikanie i usuwanie rzeczy "do zrobienia" i "do poprawki"
- 22.0. Wprowadzenie
- 22.1. Usuwanie pustych bloków wyjątków
- 22.2. Usuwanie niepotrzebnych wyjątków
- 22.3. Poprawianie wyjątków obsługujących oczekiwane przypadki
- 22.4. Poprawianie zagnieżdżonych instrukcji try/catch
- 22.5. Zastępowanie kodów zwrotnych wyjątkami
- 22.6. Poprawianie kodu strzałkowego do obsługi wyjątków
- 22.7. Ukrywanie niskopoziomowych błędów przed użytkownikami końcowymi
- 22.8. Zawężanie bloków try w wyjątkach
- 23.0. Wprowadzenie
- 23.1. Usuwanie użycia metaprogramowania
- 23.2. Reifikacja funkcji anonimowych
- 23.3. Usuwanie preprocesorów
- 23.4. Usuwanie metod dynamicznych
- 24.0. Wprowadzenie
- 24.1. Usuwanie sprawdzania typów
- 24.2. Radzenie sobie z wartościami pseudoprawdziwymi
- 24.3. Zmienianie liczb zmiennoprzecinkowych w dziesiętne
- 25.0. Wprowadzenie
- 25.1. Sanityzacja danych wejściowych
- 25.2. Zmienianie sekwencyjnych identyfikatorów
- 25.3. Usuwanie zależności od pakietów
- 25.4. Zastępowanie szkodliwych wyrażeń regularnych
- 25.5. Ochrona deserializacji obiektu
Słowo wstępne
Przedmowa
1. Czysty kod
2. Aksjomaty
3. Modele anemiczne
4. Obsesja na punkcie prymitywów
5. Mutowalność
6. Kod deklaratywny
7. Nazewnictwo
8. Komentarze
9. Standardy
10. Złożoność
11. Rozdęcie
12. YAGNI
13. Szybkie reagowanie na błędy
14. Instrukcje if
15. Null
16. Przedwczesna optymalizacja
17. Sprzężenie
18. Globalność
19. Hierarchie
20. Testowanie
21. Dług techniczny
22. Wyjątki
23. Metaprogramowanie
24. Typy
25. Bezpieczeństwo
Słownik terminów
Oceny i opinie klientów: Czysty kod. Receptury. Przepisy na poprawienie struktury i jakości Twojego kodu Maximiliano Contieri (0) 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.