!spistresci.doc

(73 KB) Pobierz
1









              Spis treści              3



Spis 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

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

Epilog                             179

Dodatek A. Lista kontrolna kodowania              181

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

Dodatek C. Odpowiedzi              195

 

 










D:\Roboczy\Niezawodność oprogramowania\9 po skladzie 1\!spistresci.doc              3

...
Zgłoś jeśli naruszono regulamin