reklama - zainteresowany?

Czysty kod. Podręcznik dobrego programisty - Helion

Czysty kod. Podręcznik dobrego programisty

MIEJSCE 3 na liście TOP 20
Autor: Robert C. Martin
Tytuł oryginału: Clean Code: A Handbook of Agile Software Craftsmanship
Tłumaczenie: Paweł Gonera
ISBN: 978-83-283-0234-1
stron: 424, Format: 168x237, okładka: miękka
Data wydania: 2010-02-19
Księgarnia: Helion

Cena książki: 48,30 zł (poprzednio: 69,00 zł)
Oszczędzasz: 30% (-20,70 zł)

Dodaj do koszyka Czysty kod. Podręcznik dobrego programisty

Tagi: Agile - Programowanie | Prezenty dla Niego | Prezenty dla Niej | programowanie-kupon | Techniki programowania

Poznaj najlepsze metody tworzenia doskonałego kodu

  • Jak pisać dobry kod, a zły przekształcić w dobry?
  • Jak formatować kod, aby osiągnąć maksymalną czytelność?
  • Jak implementować pełną obsługę błędów bez zaśmiecania logiki kodu?

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 tworzenia czystego, czytelnego kodu znajdziesz właśnie w tej książce. Podręcznik jest obowiązkową pozycją dla każdego, kto chce poznać techniki rzetelnego i efektywnego programowania.

W książce „Czysty kod. Podręcznik dobrego programisty” szczegółowo omówione zostały zasady, wzorce i najlepsze praktyki pisania czystego kodu. Podręcznik zawiera także kilka analiz przypadków o coraz większej złożoności, z których każda jest doskonałym ćwiczeniem porządkowania zanieczyszczonego bądź nieudanego kodu. Z tego podręcznika dowiesz się m.in., jak tworzyć dobre nazwy, obiekty i funkcje, a także jak tworzyć testy jednostkowe i korzystać z programowania sterowanego testami. Nauczysz się przekształcać kod zawierający problemy w taki, który jest solidny i efektywny.

  • Nazwy klas i metod
  • Funkcje i listy argumentów
  • Rozdzielanie poleceń i zapytań
  • Stosowanie wyjątków
  • Komentarze
  • Formatowanie
  • Obiekty i struktury danych
  • Obsługa błędów
  • Testy jednostkowe
  • Klasy i systemy
  • Współbieżność
  • Oczyszczanie kodu

Niech stworzony przez Ciebie kod imponuje czystością!

Dodaj do koszyka Czysty kod. Podręcznik dobrego programisty

 

Osoby które kupowały "Czysty kod. Podręcznik dobrego programisty", wybierały także:

  • Mapa Agile & Scrum. Jak si
  • TDD. Sztuka tworzenia dobrego kodu
  • Miejsce przy stole. Przywództwo w IT w czasach Agile
  • Czysty Agile. Powrót do podstaw
  • Coaching zwinnych zespołów. Kompendium wiedzy dla ScrumMasterów, Agile Coachów i kierowników projektu w okresie transformacji

Dodaj do koszyka Czysty kod. Podręcznik dobrego programisty

Spis treści

Czysty kod. Podrcznik dobrego programisty -- spis treci

  • Sowo wstpne
  • Wstp
    • Podzikowania
      • Rysunki
  • Rozdzia 1. Czysty kod
    • Niech stanie si kod...
    • W poszukiwaniu doskonaego kodu...
    • Cakowity koszt baaganu
      • Rozpoczcie wielkiej zmiany projektu
      • Postawa
      • Najwiksza zagadka
      • Sztuka czystego kodu?
      • Co to jest czysty kod?
    • Szkoy mylenia
    • Jestemy autorami
    • Zasada skautów
    • Poprzednik i zasady
    • Zakoczenie
    • Bibliografia
  • Rozdzia 2. Znaczce nazwy
    • Wstp
    • Uywaj nazw przedstawiajcych intencje
    • Unikanie dezinformacji
    • Tworzenie wyranych rónic
    • Tworzenie nazw, które mona wymówi
    • Korzystanie z nazw atwych do wyszukania
    • Unikanie kodowania
      • Notacja wgierska
      • Przedrostki skadników
      • Interfejsy i implementacje
    • Unikanie odwzorowania mentalnego
    • Nazwy klas
    • Nazwy metod
    • Nie bd dowcipny
    • Wybieraj jedno sowo na pojcie
    • Nie twórz kalamburów!
    • Korzystanie z nazw dziedziny rozwizania
    • Korzystanie z nazw dziedziny problemu
    • Dodanie znaczcego kontekstu
    • Nie naley dodawa nadmiarowego kontekstu
    • Sowo kocowe
  • Rozdzia 3. Funkcje
    • Mae funkcje!
      • Bloki i wcicia
    • Wykonuj jedn czynno
      • Sekcje wewntrz funkcji
    • Jeden poziom abstrakcji w funkcji
      • Czytanie kodu od góry do dou zasada zstpujca
    • Instrukcje switch
    • Korzystanie z nazw opisowych
    • Argumenty funkcji
      • Czsto stosowane funkcje jednoargumentowe
      • Argumenty znacznikowe
      • Funkcje dwuargumentowe
      • Funkcje trzyargumentowe
      • Argumenty obiektowe
      • Listy argumentów
      • Czasowniki i sowa kluczowe
    • Unikanie efektów ubocznych
      • Argumenty wyjciowe
    • Rozdzielanie polece i zapyta
    • Stosowanie wyjtków zamiast zwracania kodów bdów
      • Wyodrbnienie bloków try-catch
      • Obsuga bdów jest jedn operacj
      • Przyciganie zalenoci w Error.java
    • Nie powtarzaj si[13]
    • Programowanie strukturalne
    • Jak pisa takie funkcje?
    • Zakoczenie
    • SetupTeardownIncluder
    • Bibliografia
  • Rozdzia 4. Komentarze
    • Komentarze nie s szmink dla zego kodu
    • Czytelny kod nie wymaga komentarzy
    • Dobre komentarze
      • Komentarze prawne
      • Komentarze informacyjne
      • Wyjanianie zamierze
      • Wyjanianie
      • Ostrzeenia o konsekwencjach
      • Komentarze TODO
      • Wzmocnienie
      • Komentarze Javadoc w publicznym API
    • Ze komentarze
      • Bekot
      • Powtarzajce si komentarze
      • Mylce komentarze
      • Komentarze wymagane
      • Komentarze dziennika
      • Komentarze wprowadzajce szum informacyjny
      • Przeraajcy szum
      • Nie uywaj komentarzy, jeeli mona uy funkcji lub zmiennej
      • Znaczniki pozycji
      • Komentarze w klamrach zamykajcych
      • Atrybuty i dopiski
      • Zakomentowany kod
      • Komentarze HTML
      • Informacje nielokalne
      • Nadmiar informacji
      • Nieoczywiste poczenia
      • Nagówki funkcji
      • Komentarze Javadoc w niepublicznym kodzie
      • Przykad
    • Bibliografia
  • Rozdzia 5. Formatowanie
    • Przeznaczenie formatowania
    • Formatowanie pionowe
      • Metafora gazety
      • Pionowe odstpy pomidzy segmentami kodu
      • Gsto pionowa
      • Odlego pionowa
      • Uporzdkowanie pionowe
    • Formatowanie poziome
      • Poziome odstpy i gsto
      • Rozmieszczenie poziome
      • Wcicia
      • Puste zakresy
    • Zasady zespoowe
    • Zasady formatowania wujka Boba
  • Rozdzia 6. Obiekty i struktury danych
    • Abstrakcja danych
    • Antysymetria danych i obiektów
    • Prawo Demeter
      • Wraki pocigów
      • Hybrydy
      • Ukrywanie struktury
    • Obiekty transferu danych
      • Active Record
    • Zakoczenie
    • Bibliografia
  • Rozdzia 7. Obsuga bdów
    • Uycie wyjtków zamiast kodów powrotu
    • Rozpoczynanie od pisania instrukcji try-catch-finally
    • Uycie niekontrolowanych wyjtków
    • Dostarczanie kontekstu za pomoc wyjtków
    • Definiowanie klas wyjtków w zalenoci od potrzeb wywoujcego
    • Definiowanie normalnego przepywu
    • Nie zwracamy null
    • Nie przekazujemy null
    • Zakoczenie
    • Bibliografia
  • Rozdzia 8. Granice
    • Zastosowanie kodu innych firm
    • Przegldanie i zapoznawanie si z granicami
    • Korzystanie z pakietu log4j
    • Zalety testów uczcych
    • Korzystanie z nieistniejcego kodu
    • Czyste granice
    • Bibliografia
  • Rozdzia 9. Testy jednostkowe
    • Trzy prawa TDD
    • Zachowanie czystoci testów
      • Testy zwikszaj moliwoci
    • Czyste testy
      • Jzyki testowania specyficzne dla domeny
      • Podwójny standard
    • Jedna asercja na test
      • Jedna koncepcja na test
    • F.I.R.S.T.[8]
    • Zakoczenie
    • Bibliografia
  • Rozdzia 10. Klasy
    • Organizacja klas
      • Hermetyzacja
    • Klasy powinny by mae!
      • Zasada pojedynczej odpowiedzialnoci
      • Spójno
      • Utrzymywanie spójnoci powoduje powstanie wielu maych klas
    • Organizowanie zmian
      • Izolowanie moduów kodu przed zmianami
    • Bibliografia
  • Rozdzia 11. Systemy
    • Jak budowaby miasto?
    • Oddzielenie konstruowania systemu od jego uywania
      • Wydzielenie moduu main
      • Fabryki
      • Wstrzykiwanie zalenoci
    • Skalowanie w gór
      • Separowanie (rozcicie) problemów
    • Poredniki Java
    • Czyste biblioteki Java AOP
    • Aspekty w AspectJ
    • Testowanie architektury systemu
    • Optymalizacja podejmowania decyzji
      • Korzystaj ze standardów, gdy wnosz realn warto
    • Systemy wymagaj jzyków dziedzinowych
    • Zakoczenie
    • Bibliografia
  • Rozdzia 12. Powstawanie projektu
    • Uzyskiwanie czystoci projektu przez jego rozwijanie
    • Zasada numer 1 prostego projektu system przechodzi wszystkie testy
    • Zasady numer 2 4 prostego projektu przebudowa
    • Brak powtórze
    • Wyrazisto kodu
    • Minimalne klasy i metody
    • Zakoczenie
    • Bibliografia
  • Rozdzia 13. Wspóbieno
    • W jakim celu stosowa wspóbieno?
      • Mity i nieporozumienia
    • Wyzwania
    • Zasady obrony wspóbienoci
      • Zasada pojedynczej odpowiedzialnoci
      • Wniosek ograniczenie zakresu danych
      • Wniosek korzystanie z kopii danych
      • Wniosek wtki powinny by na tyle niezalene, na ile to tylko moliwe
    • Poznaj uywan bibliotek
      • Kolekcje bezpieczne dla wtków
    • Poznaj modele wykonania
      • Producent-konsument[9]
      • Czytelnik-pisarz[10]
      • Ucztujcy filozofowie[11]
    • Uwaga na zalenoci pomidzy synchronizowanymi metodami
    • Tworzenie maych sekcji synchronizowanych
    • Pisanie prawidowego kodu wyczajcego jest trudne
    • Testowanie kodu wtków
      • Traktujemy przypadkowe awarie jako potencjalne problemy z wielowtkowoci
      • Na pocztku uruchamiamy kod niekorzystajcy z wtków
      • Nasz kod wtków powinien da si wcza
      • Nasz kod wtków powinien da si dostraja
      • Uruchamiamy wicej wtków, ni mamy do dyspozycji procesorów
      • Uruchamiamy testy na rónych platformach
      • Uzbrajamy nasz kod w elementy próbujce wywoa awarie i wymuszajce awarie
      • Instrumentacja rczna
      • Instrumentacja automatyczna
    • Zakoczenie
    • Bibliografia
  • Rozdzia 14. Udane oczyszczanie kodu
    • Implementacja klasy Args
      • Jak to napisaem?
    • Args zgrubny szkic
      • Zatrzymaem si
      • O przyrostowoci
    • Argumenty typu String
    • Zakoczenie
  • Rozdzia 15. Struktura biblioteki JUnit
    • Biblioteka JUnit
    • Zakoczenie
  • Rozdzia 16. Przebudowa klasy SerialDate
    • Na pocztek uruchamiamy
    • Teraz poprawiamy
    • Zakoczenie
    • Bibliografia
  • Rozdzia 17. Zapachy kodu i heurystyki
    • Komentarze
      • C1. Niewaciwe informacje
      • C2. Przestarzae komentarze
      • C3. Nadmiarowe komentarze
      • C4. le napisane komentarze
      • C5. Zakomentowany kod
    • rodowisko
      • E1. Budowanie wymaga wicej ni jednego kroku
      • E2. Testy wymagaj wicej ni jednego kroku
    • Funkcje
      • F1. Nadmiar argumentów
      • F2. Argumenty wyjciowe
      • F3. Argumenty znacznikowe
      • F4. Martwe funkcje
    • Ogólne
      • G1. Wiele jzyków w jednym pliku ródowym
      • G2. Oczywiste dziaanie jest nieimplementowane
      • G3. Niewaciwe dziaanie w warunkach granicznych
      • G4. Zdjte zabezpieczenia
      • G5. Powtórzenia
      • G6. Kod na nieodpowiednim poziomie abstrakcji
      • G7. Klasy bazowe zalene od swoich klas pochodnych
      • G8. Za duo informacji
      • G9. Martwy kod
      • G10. Separacja pionowa
      • G11. Niespójno
      • G12. Zaciemnianie
      • G13. Sztuczne sprzenia
      • G14. Zazdro o funkcje
      • G15. Argumenty wybierajce
      • G16. Zaciemnianie intencji
      • G17. le rozmieszczona odpowiedzialno
      • G18. Niewaciwe metody statyczne
      • G19. Uycie opisowych zmiennych
      • G20. Nazwy funkcji powinny informowa o tym, co realizuj
      • G21. Zrozumienie algorytmu
      • G22. Zamiana zalenoci logicznych na fizyczne
      • G23. Zastosowanie polimorfizmu zamiast instrukcji if-else lub switch-case
      • G24. Wykorzystanie standardowych konwencji
      • G25. Zamiana magicznych liczb na stae nazwane
      • G26. Precyzja
      • G27. Struktura przed konwencj
      • G28. Hermetyzacja warunków
      • G29. Unikanie warunków negatywnych
      • G30. Funkcje powinny wykonywa jedn operacj
      • G31. Ukryte sprzenia czasowe
      • G32. Unikanie dowolnych dziaa
      • G33. Hermetyzacja warunków granicznych
      • G34. Funkcje powinny zagbia si na jeden poziom abstrakcji
      • G35. Przechowywanie danych konfigurowalnych na wysokim poziomie
      • G36. Unikanie nawigacji przechodnich
    • Java
      • J1. Unikanie dugich list importu przez uycie znaków wieloznacznych
      • J2. Nie dziedziczymy staych
      • J3. Stae kontra typy wyliczeniowe
    • Nazwy
      • N1. Wybór opisowych nazw
      • N2. Wybór nazw na odpowiednich poziomach abstrakcji
      • N3. Korzystanie ze standardowej nomenklatury tam, gdzie jest to moliwe
      • N4. Jednoznaczne nazwy
      • N5. Uycie dugich nazw dla dugich zakresów
      • N6. Unikanie kodowania
      • N7. Nazwy powinny opisywa efekty uboczne
    • Testy
      • T1. Niewystarczajce testy
      • T2. Uycie narzdzi kontroli pokrycia
      • T3. Nie pomijaj prostych testów
      • T4. Ignorowany test jest wskazaniem niejednoznacznoci
      • T5. Warunki graniczne
      • T6. Dokadne testowanie pobliskich bdów
      • T7. Wzorce bdów wiele ujawniaj
      • T8. Wzorce pokrycia testami wiele ujawniaj
      • T9. Testy powinny by szybkie
    • Zakoczenie
    • Bibliografia
  • Dodatek A: Wspóbieno II
    • Przykad klient-serwer
      • Serwer
      • Dodajemy wtki
      • Uwagi na temat serwera
      • Zakoczenie
    • Moliwe cieki wykonania
      • Liczba cieek
        • Wyliczanie moliwych uporzdkowa
      • Kopiemy gbiej
      • Zakoczenie
    • Poznaj uywan bibliotek
      • Biblioteka Executor
      • Rozwizania nieblokujce
      • Bezpieczne klasy nieobsugujce wtków
    • Zalenoci midzy metodami mog uszkodzi kod wspóbieny
      • Tolerowanie awarii
      • Blokowanie na kliencie
      • Blokowanie na serwerze
    • Zwikszanie przepustowoci
      • Obliczenie przepustowoci jednowtkowej
      • Obliczenie przepustowoci wielowtkowej
    • Zakleszczenie
      • Wzajemne wykluczanie
      • Blokowanie i oczekiwanie
      • Brak wywaszczania
      • Cykliczne oczekiwanie
      • Zapobieganie wzajemnemu wykluczaniu
      • Zapobieganie blokowaniu i oczekiwaniu
      • Umoliwienie wywaszczania
      • Zapobieganie oczekiwaniu cyklicznemu
    • Testowanie kodu wielowtkowego
    • Narzdzia wspierajce testowanie kodu korzystajcego z wtków
    • Zakoczenie
    • Samouczek. Peny kod przykadów
      • Klient-serwer bez wtków
      • Klient-serwer z uyciem wtków
  • Dodatek B: org.jfree.date.SerialDate
  • Epilog

Dodaj do koszyka Czysty kod. Podręcznik dobrego programisty

Code, Publish & WebDesing by CATALIST.com.pl



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