spistresci A34O5TKY5QTFNQ67F3AR6L5LBVXP3F3PGMLI4MQ

background image

SPIS TREŚCI

3

C:\WINDOWS\Pulpit\Szymon\Niezawodność oprogramowania\!spistresci.doc

3

S

PIS TREŚCI

Przedmowa do wydania polskiego................................................................. 7

Wstęp

......................................................................................................... 13

Dwa najważniejsze pytania.......................................................................................................... 14
Nazewnictwo ............................................................................................................................... 15

Rozdział 1. Hipotetyczny kompilator........................................................... 19

Poznaj swój język programowania .............................................................................................. 21
Pożyteczne Narzędzie — Lint ..................................................................................................... 25
To tylko kosmetyczne zmiany ..................................................................................................... 25
Nigdy więcej błędów ................................................................................................................... 26

Rozdział 2. Sprawdzaj samego siebie ........................................................... 29

Przypowieść o dwóch wersjach ................................................................................................... 30
Asercje......................................................................................................................................... 31
„Niezdefiniowane” oznacza „nieprzewidywalne” ....................................................................... 34
Zagadkowe asercje ...................................................................................................................... 35
Kompatybilność kontrolowana .................................................................................................... 37
Gdy niemożliwe staje się możliwe .............................................................................................. 41
Nic o nas bez nas ......................................................................................................................... 43
Co dwa algorytmy, to nie jeden ................................................................................................... 46
Usuwaj błędy jak najwcześniej.................................................................................................... 50

Rozdział 3. Ufortyfikuj swoje podsystemy................................................... 57

Jest błąd, nie ma błędu................................................................................................................. 58
Zutylizuj swoje śmieci................................................................................................................. 60
Jestem już gdzie indziej ............................................................................................................... 64
Kontroluj wykorzystanie pamięci................................................................................................ 67
Spójrz na to, czego nie widać ...................................................................................................... 70
Wybieraj rozsądnie ...................................................................................................................... 74
Szybki czy bezbłędny .................................................................................................................. 75
Teraz lub później ......................................................................................................................... 75

background image

4

NIEZAWODNOŚĆ OPROGRAMOWANIA

4

C:\WINDOWS\Pulpit\Szymon\Niezawodność oprogramowania\!spistresci.doc

Rozdział 4. Jak wykonuje się Twój kod ....................................................... 79

Uwiarygodnij swój kod ............................................................................................................... 80
Przetestuj wszystkie rozgałęzienia............................................................................................... 81
Żywotne znaczenie przepływu danych ........................................................................................ 83
Czy czegoś nie przeoczyłeś ......................................................................................................... 85
Spróbuj, a polubisz ...................................................................................................................... 86

Rozdział 5. Niekomunikatywne interfejsy ................................................... 89

getchar() zwraca liczbę, nie znak................................................................................................. 90
realloc() a gospodarka pamięcią .................................................................................................. 92
Uniwersalny menedżer pamięci................................................................................................... 94
Nieprecyzyjne parametry............................................................................................................. 96
Fałszywy alarm............................................................................................................................ 99
Czytanie pomiędzy wierszami ................................................................................................... 101
Ostrzegaj przed niebezpieczeństwem ........................................................................................ 103
Diabeł tkwi w szczegółach ........................................................................................................ 106

Rozdział 6. Ryzykowny biznes .................................................................... 109

int intowi nierówny.................................................................................................................... 110
Nadmiar i niedomiar.................................................................................................................. 114
„Projekt” czy „prawie projekt” .................................................................................................. 116
Po prostu robią, co do nich należy ............................................................................................. 118
Przecież to to samo .................................................................................................................... 122
?: to także if ............................................................................................................................... 123
Precz z redundancją ................................................................................................................... 126
Wysokie ryzyko, bez odwrotu ................................................................................................... 127
Przeklęta niespójność ................................................................................................................ 131
Nie przypisuj zmiennym informacji diagnostycznych............................................................... 133
Nie warto ryzykować................................................................................................................. 135

Rozdział 7. Dramaturgia rzemiosła............................................................ 139

Szybkość, szybkość ................................................................................................................... 140
Złodziej otwierający zamek kluczem nie przestaje być złodziejem........................................... 142
Każdemu według potrzeb .......................................................................................................... 144
Nie uzewnętrzniaj prywatnych informacji................................................................................. 146
Funkcje-pasożyty....................................................................................................................... 148
Programistyczne śrubokręty ...................................................................................................... 151
Syndrom APL............................................................................................................................ 153
Bez udziwnień, proszę............................................................................................................... 154
Na śmietnik z tymi wszystkimi trikami ..................................................................................... 156

Rozdział 8. Reszta jest kwestią nawyków .................................................. 161

Hokus-pokus, nie ma błędu ....................................................................................................... 161
Zrób dziś, co masz zrobić jutro.................................................................................................. 163
Doktora!!!.................................................................................................................................. 164
Jeśli działa, nie poprawiaj.......................................................................................................... 165
Funkcja z wozu, koniom lżej ..................................................................................................... 167
Elastyczność rodzi błędy ........................................................................................................... 167
Spróbuj ...................................................................................................................................... 169
Święty Harmonogram................................................................................................................ 170
„Tester” — nazwa w sam raz dla testera .................................................................................. 171
Programista zawinił, testera powiesili ....................................................................................... 173
Zdefiniuj swe priorytety ............................................................................................................ 174

background image

SPIS TREŚCI

5

C:\WINDOWS\Pulpit\Szymon\Niezawodność oprogramowania\!spistresci.doc

5

Epilog ....................................................................................................... 179

Dodatek A. Lista kontrolna kodowania ..................................................... 181

Dodatek B. Podprogramy zarządzania pamięcią...................................... 187

Dodatek C. Odpowiedzi............................................................................... 195

background image

6

NIEZAWODNOŚĆ OPROGRAMOWANIA

6

C:\WINDOWS\Pulpit\Szymon\Niezawodność oprogramowania\!spistresci.doc


Wyszukiwarka

Podobne podstrony:
SPISTRE , łączność
SpisTreściDoRomka, studia, Matma, Matma Dyskretna
inzynieria produkcji spistr
polityka gospodarcza, spistresci, 1
spistreści
spistresci (2)
Spistreści 4
Kapandji T 3 SpisTresci
spistresci
SpisTresci1
SpisTresciWJednejLiniii, OFFICE, WORD
SpisTresci
!!! KOMPENDIUM WIEDZY !!, SPISTRAL
00 SpisTresci FC-gp
Spistres
SPISTRESCI
Spistresci

więcej podobnych podstron