Kod doskonaly Jak tworzyc oprogramowanie pozbawione bledow Wydanie II.pdf
(
1047 KB
)
Pobierz
Tytuł oryginału: Code Complete
Tłumaczenie: Paweł Koronkiewicz
ISBN: 978-83-283-3489-2
© 2010, 2017 Helion SA
Authorized translation of the English edition of Code Complete, Second Edition © 2004, Steven C.
McConnell.
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls of
all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording or by any information storage
retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie,
ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION
nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania
informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/koddov
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
•
Kup książkę
•
Poleć książkę
•
Oceń książkę
•
Księgarnia internetowa
•
Lubię to! » Nasza społeczność
Spis treści
Wstęp ........................................................................................................................................15
Podziękowania ......................................................................................................................23
Listy kontrolne .......................................................................................................................25
Tabele .......................................................................................................................................27
Rysunki .....................................................................................................................................29
Część I
Proces budowy oprogramowania .............................................. 35
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
1.
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
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
5.
Kup książkę
Poleć książkę
8
Spis treści
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
Kup książkę
Poleć książkę
Spis treści
9
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
Kup książkę
Poleć książkę
Plik z chomika:
PDFator
Inne pliki z tego folderu:
Adobe AIR dla programistow JavaScript Leksykon kieszonkowy.pdf
(371 KB)
Architektura aplikacji w Pythonie TDD DDD i rozwoj mikrouslug reaktywnych.pdf
(2453 KB)
Algorytmy i struktury danych.pdf
(928 KB)
API nowoczesnej strony WWW Uslugi sieciowe w PHP.pdf
(718 KB)
Bash Praktyczne skrypty.pdf
(713 KB)
Inne foldery tego chomika:
3ds max
50 zadań i zagadek szachowych
Access
Acrobat
Administracja
Zgłoś jeśli
naruszono regulamin