reklama - zainteresowany?

Znajdź błąd. Sztuka analizowania kodu - Helion

Znajdź błąd. Sztuka analizowania kodu
Autor: Adam Barr
Tytuł oryginału: Find the Bug : A Book of Incorrect Programs
Tłumaczenie: Bartłomiej Garbacz
ISBN: 83-7361-855-4
stron: 288, Format: B5, okładka: miękka
Data wydania: 2005-06-09
Księgarnia: Helion

Cena książki: 37,89 zł

Dodaj do koszyka Znajdź błąd. Sztuka analizowania kodu

Tagi: Inne - Programowanie

Wyszukiwanie błędów w kodzie to czynność, którą programiści wykonują niemal równie często, jak pisanie kodu. Narzędzia do wykrywania i poprawiania błędów tylko częściowo rozwiązują problem. W wielu przypadkach błąd nie tkwi w nieprawidłowo sformułowanym poleceniu lub źle zdefiniowanej zmiennej, ale w miejscu, którego nawet najlepsze narzędzie nie znajdzie. Programista musi się nauczyć samemu bronić przed ukrytymi pomyłkami i nieprzyjemnymi niespodziankami. Błędy trzeba znaleźć, zanim one znajdą nas.

Książka "Znajdź błąd. Sztuka analizowania kodu" to zbiór 50 programów napisanych w językach Perl, C, Java, Python i asembler x86. Każdy z nich zawiera jeden, trudny do znalezienia, ale jak najbardziej realistyczny błąd. Wykrycie go wymaga przewidzenia sposobu, w jaki program będzie wykonywany, i prześledzenia krok po kroku jego działania. Każdy przykład opatrzony jest wskazówkami pomocnymi przy wyszukiwaniu błędów. Książka przedstawia sposoby analizowania programów i przewidywania miejsc, w których może wystąpić błąd.

  • Klasyfikacja bÅ‚Ä™dów
  • Metody analizy kodu
  • BÅ‚Ä™dy w programach w jÄ™zyku C
  • Analiza aplikacji napisanych w jÄ™zyku Python
  • Wyszukiwanie bÅ‚Ä™dów w programach w jÄ™zyku Java
  • Programy w jÄ™zyku Perl i asembler x86

Wykonując zadania zawarte w tej książce, nie tylko nauczysz się odnajdywać błędy, ale także udoskonalisz swoje umiejętności w zakresie pisania aplikacji.

Dodaj do koszyka Znajdź błąd. Sztuka analizowania kodu

 

Osoby które kupowały "Znajdź błąd. Sztuka analizowania kodu", 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 Znajdź błąd. Sztuka analizowania kodu

Spis treści

Znajdź błąd. Sztuka analizowania kodu -- spis treści

O Autorze (9)

Wstęp (11)

Rozdział 1. Klasyfikacja błędów (17)

Rozdział 2. Wskazówki dotyczące analizy kodu (19)

  • PodziaÅ‚ kodu na sekcje o okreÅ›lonych celach dziaÅ‚ania (20)
    • Identyfikacja sekcji w kodzie (21)
    • Identyfikacja celów dziaÅ‚ania każdej sekcji (22)
    • Komentarze (23)
  • Identyfikacja znaczenia każdej zmiennej (24)
    • Nazwy zmiennych (24)
    • OkreÅ›lenie sposobów użycia każdej zmiennej (24)
    • Zmienne ograniczone (26)
    • Warunki niezmiennicze (27)
    • Åšledzenie zmian zmiennych ograniczonych (28)
  • Wyszukanie znanych puÅ‚apek (28)
    • Liczniki pÄ™tli (28)
    • Wyrażenia wystÄ™pujÄ…ce po lewej oraz po prawej stronie instrukcji przypisania (30)
    • Sprawdzenie operacji sprzężonych (30)
    • WywoÅ‚ania funkcji (31)
    • WartoÅ›ci zwracane (32)
    • Kod podobny do istniejÄ…cego bÅ‚Ä™du (33)
  • Wybór danych wejÅ›ciowych dla celów analizy dziaÅ‚ania (33)
    • Pokrycie kodu (35)
    • Puste dane wejÅ›ciowe (36)
    • Banalne dane wejÅ›ciowe (37)
    • Gotowe dane wejÅ›ciowe (38)
    • BÅ‚Ä™dne dane wejÅ›ciowe (38)
    • PÄ™tle (39)
    • Liczby losowe (39)
  • Analiza dziaÅ‚ania każdej sekcji kodu (40)
    • Åšledzenie wartoÅ›ci zmiennych (41)
    • UkÅ‚ad kodu (41)
    • PÄ™tle (43)
  • Podsumowanie (44)

Rozdział 3. C (45)

  • Krótkie omówienie jÄ™zyka C (45)
    • Typy danych i zmienne (45)
    • CiÄ…gi znaków (47)
    • Wskaźniki (47)
    • Struktury (48)
    • Instrukcje warunkowe (49)
    • PÄ™tle (50)
    • Funkcje (51)
  • Sortowanie przez wybieranie (51)
  • Wstawianie pozycji na liÅ›cie jednokierunkowej (54)
  • Usuwanie pozycji z listy jednokierunkowej (57)
  • Kopiowanie obszaru pamiÄ™ci (60)
  • RozkÅ‚ad ciÄ…gu znaków na podciÄ…gi (63)
  • Mechanizm przydzielania pamiÄ™ci (66)
  • Zwalnianie pamiÄ™ci (69)
  • Rekurencyjne odwracanie zdania (72)
  • OkreÅ›lanie wszystkich możliwych tras (76)
  • Znak cofania w alfabecie Kanji (78)

Rozdział 4. Python (83)

  • Krótkie omówienie jÄ™zyka Python (83)
    • Typy danych i zmienne (83)
    • CiÄ…gi znaków (84)
    • Listy i krotki (85)
    • SÅ‚owniki (87)
    • Instrukcje warunkowe (88)
    • PÄ™tle (88)
    • Funkcje (89)
    • Klasy (89)
    • WyjÄ…tki (90)
    • Importowanie kodu (91)
    • Dane wyjÅ›ciowe (91)
  • OkreÅ›lanie liczby pierwszej (91)
  • Znajdowanie podciÄ…gu (93)
  • Sortowanie alfabetyczne wyrazów (95)
  • Kodowanie ciÄ…gów znaków za pomocÄ… tablicy znaków (97)
  • WyÅ›wietlanie miesiÄ…ca i dnia (100)
  • Gra "Go Fish", część I: pobieranie karty z talii (102)
  • Gra "Go Fish", część II: sprawdzenie posiadania karty przez drugÄ… rÄ™kÄ™ (105)
  • Gra "Go Fish", część III: peÅ‚na gra (108)
  • Analiza skÅ‚adniowa liczb zapisanych w jÄ™zyku angielskim (112)
  • Przypisywanie prezentów do obdarowywanych (115)

Rozdział 5. Java (119)

  • Krótkie omówienie jÄ™zyka Java (119)
    • Typy danych i zmienne (119)
    • CiÄ…gi znaków (i obiekty) (120)
    • Tablice (122)
    • Instrukcje warunkowe (124)
    • PÄ™tle (124)
    • Klasy (125)
    • WyjÄ…tki (127)
    • Importowanie kodu (128)
    • Aplikacje wiersza poleceÅ„ i aplety (129)
  • OkreÅ›lanie roku przestÄ™pnego (129)
  • Konwersja liczby na tekst (132)
  • Rysowanie trójkÄ…ta na ekranie, część I (135)
  • Rysowanie trójkÄ…ta na ekranie, część II (139)
  • Odwracanie listy jednokierunkowej (141)
  • Sprawdzenie, czy lista zawiera pÄ™tlÄ™ (143)
  • Sortowanie szybkie (146)
  • Gra Pong, część I (149)
  • Gra Pong, część II (153)
  • Obliczanie wyników w grze w krÄ™gle (156)

Rozdział 6. Perl (161)

  • Krótkie omówienie jÄ™zyka Perl (161)
    • Typy danych i zmienne (161)
    • CiÄ…gi znaków (162)
    • Listy (163)
    • Skróty (165)
    • Warunki logiczne (165)
    • PÄ™tle (167)
    • Podprogramy (168)
    • Kontekst skalarny i listowy (168)
    • Uchwyty plików (169)
    • Wyrażenia regularne (170)
    • Dane wyjÅ›ciowe (171)
    • Parametry wywoÅ‚ania z wiersza poleceÅ„ (171)
  • Sortowanie pliku wedÅ‚ug dÅ‚ugoÅ›ci wierszy (172)
  • WyÅ›wietlanie czynników pierwszych liczby (174)
  • Rozwijanie znaków tabulacji (176)
  • Prosta baza danych (178)
  • Znajdowanie powtarzajÄ…cej siÄ™ części uÅ‚amka (181)
  • Rozszerzanie listy plików z wciÄ™ciami na peÅ‚ne Å›cieżki dostÄ™pu (183)
  • Sortowanie wszystkich plików w drzewie struktury katalogów (186)
  • Obliczanie Å›rednich ocen z testów (189)
  • Sortowanie przez scalanie wielu plików (192)
  • Gra Mastermind (195)

Rozdział 7. Język asemblera x86 (201)

  • Krótkie omówienie jÄ™zyka asemblera x86 (201)
    • Typy danych i zmienne (201)
    • Operacje arytmetyczne (204)
    • Znaczniki, warunki i skoki (206)
    • PÄ™tle (208)
    • Procedury (210)
    • WyjÅ›cie (213)
  • Reszta z dolara (213)
  • Mnożenie dwóch liczb przy użyciu operacji przesuniÄ™cia (215)
  • ZÅ‚Ä…czanie ciÄ…gów znaków z separatorem (217)
  • Obliczanie wartoÅ›ci ciÄ…gu Fibonacciego (220)
  • Sprawdzanie, czy dwa wyrazy sÄ… anagramami (222)
  • Konwersja 64-bitowej liczby na ciÄ…g znaków z jej zapisem dziesiÄ™tnym (226)
  • Suma wartoÅ›ci w tablicy liczb ze znakiem (230)
  • Gra symulacyjna Å»ycie (234)
  • Sprawdzenie dopasowania nawiasów w kodzie źródÅ‚owym (238)
  • Sortowanie przez zamianÄ™ w podstawie (242)

Dodatek A Klasyfikacja błędów (247)

  • SkÅ‚adnia a semantyka (248)
  • Klasyfikacja używana w książce (249)
  • A - Algorytm (251)
    • A.przesuniÄ™cie-o-jeden (251)
    • A.logika (252)
    • A.walidacja (253)
    • A.wydajność (255)
  • D - Dane (255)
    • D.indeks (255)
    • D.limit (256)
    • D.liczba (257)
    • D.pamięć (259)
  • Z - Zapomniane (261)
    • Z.inicjalizacja (261)
    • Z.pominiÄ™cie (262)
    • Z.lokalizacja (263)
  • P - PomyÅ‚ka (264)
    • P.zmienna (264)
    • P.wyrażenie (265)
    • P.jÄ™zyk (266)
  • Podsumowanie (267)

Dodatek B Indeks błędów według typu (269)

Dodatek C Materiały źródłowe (273)

  • Klasyfikacja bÅ‚Ä™dów (273)
  • Ogólne pozycje poÅ›wiÄ™cone typom bÅ‚Ä™dów (274)
  • C (274)
  • Python (275)
  • Java (275)
  • Perl (275)
  • JÄ™zyk asemblera x86 (275)

Skorowidz (277)

Dodaj do koszyka Znajdź błąd. Sztuka analizowania kodu

Code, Publish & WebDesing by CATALIST.com.pl



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