Facebook - konwersja
Pobierz fragment

Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów. Wydanie II - ebook

Wydawnictwo:
Data wydania:
2 listopada 2010
Format ebooka:
PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Pobierz fragment
129,00

Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów. Wydanie II - ebook

Kultowy podręcznik tworzenia doskonałego oprogramowania!

  • Twórz wolny od błędów, najwyższej jakości kod
  • Utrzymuj stałą kontrolę nad złożonymi projektami
  • Wcześnie wykrywaj i rozwiązuj problemy
  • Sprawnie rozwijaj i poprawiaj oprogramowanie

Steve McConnell wie więcej o budowie oprogramowania niż ktokolwiek inny; mamy ogromne szczęście, że zdecydował się podzielić swoim doświadczeniem oraz wiedzą w tej ważnej i oryginalnej książce.

Alan Cooper, „ojciec” języka Visual Basic, autor książki About Face

Zapewne każdy zgodzi się ze stwierdzeniem, że jeśli jakiś proces odpowiada za nawet 70% błędów w gotowym produkcie, z pewnością wymaga znaczącego usprawnienia... Czy masz jednak świadomość, że właśnie tyle problemów generuje samo wytwarzanie oprogramowania? Te błędy powodują nie tylko usterki w już gotowych programach, niespełniających oczekiwań klientów — odpowiadają także za znaczne opóźnienia przy realizacji zleconych projektów i nagminne przekraczanie zaplanowanego budżetu. Każdy ambitny programista staje zatem przed koniecznością zdobycia wiedzy o takich metodach pracy, które pozwolą szybciej i efektywniej realizować projekty, a przy tym zapewniać najwyższą jakość tworzonego kodu. W końcu na podstawie tych właśnie umiejętności oceniana jest także wartość danego programisty w zespole.

Z tych właśnie powodów niniejsza książka, będąca przejrzystą kompilacją najlepszych technik programowania, zdobyła tak wielkie uznanie w środowisku zawodowców i studentów, osiągając miano podręcznika kultowego. Przed Tobą drugie, zaktualizowane wydanie słynnej publikacji, w której Steve McConnell przedstawia wszystkie aspekty budowy programów, takie jak jakość czy podejście do procesu wytwarzania. Autor rozwija tu tak istotne zagadnienia, jak przebieg budowy klasy, techniki pracy z danymi i strukturami sterującymi, debugowanie, refaktoryzowanie oraz metody i strategie optymalizacji. Znajdziesz tu dziesiątki list kontrolnych, pomocnych w ocenianiu architektury, jakości klas i procedur, nazw zmiennych czy struktur sterujących, a także ponad 500 przykładów dobrego i złego kodu. Dowiesz się, co było przyczyną wielu typowych problemów w przeszłości i jak ich dzisiaj unikać. Opisane metody pracy pomogą utrzymać kontrolę nad dużymi projektami oraz efektywnie rozwijać i modyfikować oprogramowanie w odpowiedzi na zmiany wymagań. Co ważne, można je skutecznie wykorzystywać niezależnie od stosowanego języka programowania!

Dzięki tej książce nauczysz się skutecznie:
  • projektować z zachowaniem minimalnej złożoności;
  • praktycznie wykorzystywać metody pracy zespołowej;
  • programować defensywnie, by unikać błędów w kodzie i jak najszybciej je z niego usuwać;
  • wykorzystywać okazje do refaktoryzacji oraz rozwijania kodu i robić to w sposób bezpieczny;
  • korzystać z metod programowania dopasowanych do projektu;
  • szybko i efektywnie debugować;
  • wcześnie i we właściwy sposób rozwiązywać najważniejsze problemy z konstrukcją oprogramowania;
  • dbać o jakość kodu od pierwszego do ostatniego dnia projektu.

Posiądź kluczowe umiejętności tworzenia najwyższej jakości oprogramowania!


Steve McConnell jest jednym z najbardziej szanowanych ekspertów w świecie informatyki. Jest głównym programistą w firmie Construx Software oraz znanym autorem bestsellerowych książek, m.in. Kod doskonały i Rapid Development — obie zostały uhonorowane nagrodą Jolt magazynu „Software Development”, przyznawaną co roku najlepszej książce poświęconej procesowi wytwarzania oprogramowania. Brał udział w projektach realizowanych dla takich firm, jak Microsoft czy Boeing, a w 1998 roku czytelnicy magazynu „Software Development” uznali go obok Billa Gatesa i Linusa Torvaldsa za jedną z trzech najbardziej wpływowych osób w branży oprogramowania.

Spis treści

Wstęp (15)

Podziękowania (23)

Listy kontrolne (25)

Tabele (27)

Rysunki (29)

CZĘŚĆ I. PROCES BUDOWY OPROGRAMOWANIA (35)

1. Budowa oprogramowania (37)

  • 1.1. Czym jest budowa oprogramowania (37)
  • 1.2. Znaczenie procesu budowy oprogramowania (40)
  • 1.3. Jak korzystać z tej książki (41)

2. Metafory procesu programowania (43)

  • 2.1. Znaczenie metafor (43)
  • 2.2. Jak korzystać z metafor w programowaniu (46)
  • 2.3. Popularne metafory programowania (47)

3. Przed programowaniem - przygotowania (57)

  • 3.1. Przygotowania i ich znaczenie (58)
  • 3.2. Określanie rodzaju budowanego oprogramowania (65)
  • 3.3. Definicja problemu (70)
  • 3.4. Określenie wymagań (72)
  • 3.5. Architektura (77)
  • 3.6. Ilość czasu poświęcanego na przygotowania (89)

4. Kluczowe decyzje konstrukcyjne (95)

  • 4.1. Wybór języka programowania (95)
  • 4.2. Konwencje programowania (100)
  • 4.3. Twoje położenie na fali technologii (101)
  • 4.4. Wybór podstawowych praktyk programowania (103)

CZĘŚĆ II. PISANIE DOBREGO KODU (107)

5. Projektowanie (109)

  • 5.1. Podstawowe problemy projektowania (110)
  • 5.2. Podstawowe pojęcia projektowania (113)
  • 5.3. Heurystyki - narzędzia projektanta (122)
  • 5.4. Techniki projektowania (146)
  • 5.5. Uwagi o popularnych metodykach pracy (155)

6. Klasy z klasą (161)

  • 6.1. Abstrakcyjne typy danych (162)
  • 6.2. Dobry interfejs klasy (169)
  • 6.3. Problemy projektowania i implementacji (179)
  • 6.4. Przesłanki dla utworzenia klasy (188)
  • 6.5. Specyfika języka (192)
  • 6.6. Pakiety klas (192)

7. Procedury wysokiej jakości (197)

  • 7.1. Przesłanki utworzenia procedury (200)
  • 7.2. Projektowanie na poziomie procedur (204)
  • 7.3. Dobra nazwa procedury (207)
  • 7.4. Jak długa może być procedura? (209)
  • 7.5. Jak używać parametrów procedur (211)
  • 7.6. Używanie funkcji (217)
  • 7.7. Makra i procedury inline (218)

8. Programowanie defensywne (223)

  • 8.1. Zabezpieczanie programu przed niewłaściwymi danymi wejściowymi (224)
  • 8.2. Asercje (225)
  • 8.3. Mechanizmy obsługi błędów (230)
  • 8.4. Wyjątki (234)
  • 8.5. Ograniczanie zasięgu szkód powodowanych przez błędy (239)
  • 8.6. Kod wspomagający debugowanie (241)
  • 8.7. Ilość kodu defensywnego w wersji finalnej (245)
  • 8.8. Defensywne podejście do programowania defensywnego (246)

9. Proces Programowania w Pseudokodzie (251)

  • 9.1. Budowanie klas i procedur krok po kroku (251)
  • 9.2. Pseudokod dla zaawansowanych (253)
  • 9.3. Budowanie procedur metodą PPP (256)
  • 9.4. Alternatywy dla pseudokodu (269)

CZĘŚĆ III. ZMIENNE (273)

10. Zmienne w programie (275)

  • 10.1. Podstawowa wiedza o danych (276)
  • 10.2. Deklarowanie zmiennych (277)
  • 10.3. Inicjalizowanie zmiennych (278)
  • 10.4. Zakres (282)
  • 10.5. Trwałość (289)
  • 10.6. Czas wiązania (290)
  • 10.7. Związek między typami danych i strukturami sterowania (292)
  • 10.8. Jedno przeznaczenie każdej zmiennej (293)

11. Potęga nazwy zmiennej (297)

  • 11.1. Wybieranie dobrej nazwy (297)
  • 11.2. Nazwy a rodzaje danych (303)
  • 11.3. Potęga konwencji nazw (308)
  • 11.4. Nieformalne konwencje nazw (310)
  • 11.5. Standardowe prefiksy (317)
  • 11.6. Nazwy krótkie a czytelne (319)
  • 11.7. Nazwy, których należy unikać (322)

12. Podstawowe typy danych (327)

  • 12.1. Liczby (327)
  • 12.2. Liczby całkowite (329)
  • 12.3. Liczby zmiennoprzecinkowe (331)
  • 12.4. Znaki i ciągi znakowe (333)
  • 12.5. Zmienne logiczne (336)
  • 12.6. Typy wyliczeniowe (338)
  • 12.7. Stałe nazwane (343)
  • 12.8. Tablice (345)
  • 12.9. Tworzenie własnych typów (aliasy) (346)

13. Inne typy danych (355)

  • 13.1. Struktury (355)
  • 13.2. Wskaźniki (359)
  • 13.3. Dane globalne (371)

CZĘŚĆ IV. INSTRUKCJE (383)

14. Struktura kodu liniowego (385)

  • 14.1. Instrukcje, które wymagają określonej kolejności (385)
  • 14.2. Instrukcje, których kolejność nie ma znaczenia (388)

15. Instrukcje warunkowe (393)

  • 15.1. Instrukcje if (393)
  • 15.2. Instrukcje case (398)

16. Pętle (405)

  • 16.1. Wybieranie rodzaju pętli (405)
  • 16.2. Sterowanie pętlą (410)
  • 16.3. Łatwe tworzenie pętli - od wewnątrz (422)
  • 16.4. Pętle i tablice (424)

17. Nietypowe struktury sterowania (427)

  • 17.1. Wiele wyjść z procedury (427)
  • 17.2. Rekurencja (429)
  • 17.3. Instrukcja goto (434)
  • 17.4. Nietypowe struktury sterowania z perspektywy (444)

18. Metody oparte na tabelach (449)

  • 18.1. Metody oparte na tabelach - wprowadzenie (449)
  • 18.2. Tabele o dostępie bezpośrednim (451)
  • 18.3. Tabele o dostępie indeksowym (462)
  • 18.4. Tabele o dostępie schodkowym (464)
  • 18.5. Inne metody wyszukiwania w tabelach (467)

19. Ogólne problemy sterowania (469)

  • 19.1. Wyrażenia logiczne (469)
  • 19.2. Instrukcje złożone (bloki) (480)
  • 19.3. Instrukcje puste (481)
  • 19.4. Praca z głębokimi zagnieżdżeniami (482)
  • 19.5. Programowanie strukturalne (490)
  • 19.6. Struktury sterujące i złożoność (493)

CZĘŚĆ V. SPRAWNA PRACA Z KODEM (497)

20. Jakość oprogramowania (499)

  • 20.1. Składowe jakości (499)
  • 20.2. Metody podwyższania jakości (502)
  • 20.3. Skuteczność metod podwyższania jakości (505)
  • 20.4. Kiedy przeprowadzać kontrolę jakości (509)
  • 20.5. Ogólna Zasada Jakości Oprogramowania (509)

21. Programowanie zespołowe (513)

  • 21.1. Przegląd metod programowania zespołowego (514)
  • 21.2. Programowanie w parach (517)
  • 21.3. Formalne inspekcje (519)
  • 21.4. Inne metody programowania zespołowego (526)

22. Testowanie (533)

  • 22.1. Rola testów programisty (534)
  • 22.2. Zalecane podejście do testów programisty (537)
  • 22.3. Praktyczne techniki testowania (539)
  • 22.4. Typowe błędy (550)
  • 22.5. Narzędzia wspomagające testowanie (556)
  • 22.6. Usprawnianie testów (561)
  • 22.7. Gromadzenie informacji o testach (563)

23. Debugowanie (569)

  • 23.1. Wprowadzenie (569)
  • 23.2. Wyszukiwanie defektu (574)
  • 23.3. Usuwanie defektu (585)
  • 23.4. Debugowanie a psychologia (588)
  • 23.5. Narzędzia debugowania - oczywiste i mniej oczywiste (591)

24. Refaktoryzacja (597)

  • 24.1. Ewolucja oprogramowania i jej odmiany (598)
  • 24.2. Refaktoryzacje - wprowadzenie (599)
  • 24.3. Wybrane refaktoryzacje (605)
  • 24.4. Bezpieczne przekształcanie kodu (613)
  • 24.5. Strategie refaktoryzacji (615)

25. Strategie optymalizacji kodu (621)

  • 25.1. Wydajność kodu (622)
  • 25.2. Optymalizowanie kodu (625)
  • 25.3. Rodzaje otyłości i lenistwa (632)
  • 25.4. Pomiary (637)
  • 25.5. Iterowanie (639)
  • 25.6. Strategie optymalizacji kodu - podsumowanie (640)

26. Metody optymalizacji kodu (645)

  • 26.1. Struktury logiczne (646)
  • 26.2. Pętle (651)
  • 26.3. Przekształcenia danych (660)
  • 26.4. Wyrażenia (665)
  • 26.5. Procedury (674)
  • 26.6. Reimplementacja w języku niskiego poziomu (675)
  • 26.7. Im bardziej świat się zmienia, tym więcej zostaje bez zmian (677)

CZĘŚĆ VI. ŚRODOWISKO PROGRAMOWANIA (681)

27. Jak rozmiar programu wpływa na jego budowę (683)

  • 27.1. Wielkość projektu a komunikacja (684)
  • 27.2. Skala rozmiarów projektów (684)
  • 27.3. Wpływ wielkości projektu na liczbę błędów (685)
  • 27.4. Wpływ wielkości projektu na efektywność pracy (687)
  • 27.5. Wpływ wielkości projektu na wykonywaną pracę (687)

28. Zarządzanie w programowaniu (695)

  • 28.1. Zachęcanie do budowy dobrego kodu (696)
  • 28.2. Zarządzanie konfiguracją (698)
  • 28.3. Budowanie harmonogramu (705)
  • 28.4. Pomiary (712)
  • 28.5. Ludzkie traktowanie programistów (715)
  • 28.6. Współpraca z przełożonymi (721)

29. Integracja (725)

  • 29.1. Znaczenie metod integracji (725)
  • 29.2. Częstość integracji - końcowa czy przyrostowa? (727)
  • 29.3. Przyrostowe strategie integracji (730)
  • 29.4. Codzienna kompilacja i test dymowy (738)

30. Narzędzia programowania (747)

  • 30.1. Narzędzia do projektowania (748)
  • 30.2. Narzędzia do pracy z kodem źródłowym (748)
  • 30.3. Narzędzia do pracy z kodem wykonywalnym (754)
  • 30.4. Środowiska narzędzi programowania (758)
  • 30.5. Budowanie własnych narzędzi (759)
  • 30.6. Narzędzia przyszłości (761)

CZĘŚĆ VII. RZEMIOSŁO PROGRAMISTY (765)

31. Układ i styl (767)

  • 31.1. Wprowadzenie (768)
  • 31.2. Techniki formatowania (774)
  • 31.3. Style formatowania (776)
  • 31.4. Formatowanie struktur sterujących (782)
  • 31.5. Formatowanie instrukcji (789)
  • 31.6. Formatowanie komentarzy (800)
  • 31.7. Formatowanie procedur (802)
  • 31.8. Formatowanie klas (804)

32. Kod, który opisuje się sam (813)

  • 32.1. Zewnętrzna dokumentacja programu (813)
  • 32.2. Styl programowania jako dokumentacja (814)
  • 32.3. Komentować czy nie komentować (817)
  • 32.4. Zasady pisania dobrych komentarzy (821)
  • 32.5. Metody pisania komentarzy (828)
  • 32.6. Normy IEEE (849)

33. Cechy charakteru (855)

  • 33.1. Czy osobowość jest bez znaczenia? (856)
  • 33.2. Inteligencja i skromność (857)
  • 33.3. Ciekawość (858)
  • 33.4. Uczciwość intelektualna (862)
  • 33.5. Komunikacja i współpraca (865)
  • 33.6. Kreatywność i dyscyplina (865)
  • 33.7. Lenistwo (866)
  • 33.8. Cechy, które znaczą mniej, niż myślisz (867)
  • 33.9. Nawyki (869)

34. Powracające wątki - przegląd (873)

  • 34.1. Walka ze złożonością (873)
  • 34.2. Wybierz swój proces (875)
  • 34.3. Pisz programy dla ludzi, nie tylko dla komputerów (877)
  • 34.4. Programuj do języka, a nie w nim (879)
  • 34.5. Konwencje jako pomoc w koncentracji uwagi (880)
  • 34.6. Programowanie w kategoriach dziedziny problemu (881)
  • 34.7. Uwaga, spadające odłamki! (884)
  • 34.8. Iteruj, iteruj i jeszcze raz iteruj (886)
  • 34.9. Nie będziesz łączył religii z programowaniem (887)

35. Gdzie znaleźć więcej informacji (891)

  • 35.1. Programowanie (892)
  • 35.2. Szersze spojrzenie na budowę oprogramowania (893)
  • 35.3. Periodyki (895)
  • 35.4. Plan czytelniczy programisty (896)
  • 35.5. Stowarzyszenia zawodowe (898)

Bibliografia (899)

Skorowidz (918)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-3490-8
Rozmiar pliku: 8,8 MB

BESTSELLERY

Kategorie: