Code complete:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German English |
Veröffentlicht: |
Unterschleißheim
Microsoft
2005
|
Ausgabe: | dt. Ausg. der 2nd ed. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XXXIII, 909 S. Ill. |
ISBN: | 386063593X |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV019719851 | ||
003 | DE-604 | ||
005 | 20080801 | ||
007 | t | ||
008 | 050303s2005 gw a||| |||| 00||| ger d | ||
015 | |a 05,N05,0068 |2 dnb | ||
016 | 7 | |a 973342382 |2 DE-101 | |
020 | |a 386063593X |9 3-86063-593-X | ||
035 | |a (OCoLC)76641025 | ||
035 | |a (DE-599)BVBBV019719851 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 1 | |a ger |h eng | |
044 | |a gw |c XA-DE-BY | ||
049 | |a DE-29T |a DE-91G |a DE-12 |a DE-Aug4 |a DE-634 |a DE-858 |a DE-11 | ||
082 | 0 | |a 004 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a DAT 300f |2 stub | ||
084 | |a 004 |2 sdnb | ||
100 | 1 | |a MacConnell, Steve |e Verfasser |4 aut | |
240 | 1 | 0 | |a Code complete |
245 | 1 | 0 | |a Code complete |c Steve McConnell |
250 | |a dt. Ausg. der 2nd ed. | ||
264 | 1 | |a Unterschleißheim |b Microsoft |c 2005 | |
300 | |a XXXIII, 909 S. |b Ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Softwareentwicklung |0 (DE-588)4116522-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Software Engineering |0 (DE-588)4116521-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Strukturierte Programmierung |0 (DE-588)4058133-0 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Softwareentwicklung |0 (DE-588)4116522-6 |D s |
689 | 0 | 1 | |a Strukturierte Programmierung |0 (DE-588)4058133-0 |D s |
689 | 0 | |8 1\p |5 DE-604 | |
689 | 1 | 0 | |a Software Engineering |0 (DE-588)4116521-4 |D s |
689 | 1 | |8 2\p |5 DE-604 | |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013047014&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-013047014 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804133177598410752 |
---|---|
adam_text | VII
INHALTSVERZEICHNIS
VORWORT XXV
AN WEN WENDET SICH DIESES BUCH? XXV
WO KONNEN SIE SOLCHE INFORMATIONEN SONST FINDEN? XXVI
WAS DURFEN SIE VON DIESEM BUCH ERWARTEN? XXVII
WARUM DIESES BUCH GESCHRIEBEN WURDE XXIX
KRITIK UND ANREGUNGEN XXX
TECHNISCHER SUPPORT XXXI
DANKSAGUNGEN XXXII
TEILL DAS GIEFTENDES FUNDAMENTS 1
KAPITEL
1 WILLKOMMEN AUF DER
SOFTWAREBAUSTELLE 3
1.1 WAS BEDEUTET SOFTWARE BAUEN? 3
1.2 WARUM IST DER BAUABSCHNITT WICHTIG? 6
1.3 WIE SIE DIESES BUCH LESEN SOLLTEN 7
ZUSAMMENFASSUNG 7
KAPITEL 2 METAPHERN ALS HILFSMITTEL
FIIR DIE
SOFTWAREENTWICKLUNG 9
2.1 DIE BEDEUTUNG VON METAPHERN 10
2.2 DAS VERWENDEN VON SOFTWAREMETAPHERN 12
2.3 GEBRAUCHLICHE SOFTWAREMETAPHERN 13
DER SOFTWARE-AUTOR: QUELLTEXT SCHREIBEN 13
DER LANDWIRT: SOFTWARE ANBAUEN 15
AUSTERNZUCHT: DAS WACHSENDE SYSTEM 16
EIN HAUS ERRICHTEN: SOFTWARE BAUEN 17
SOFTWARETECHNIKEN: DER GEISTIGE WERKZEUGKASTEN 20
METAPHERN KOMBINIEREN 20
WEITERFUHRENDE LITERATUR 21
ZUSAMMENFASSUNG 21
KAPITEL 3 ZWEIMAL MESSEN, EINMAL
SAGEN:
VORBEREITUNG BEIM SOFTWAREBAU 23
3.1 DIE BEDEUTUNG GUTER VORBEREITUNG 24
IST FUR MODERNE SOFTWAREPROJEKTE VORBEREITUNG ERFORDERLICH? 24
URSACHEN FIIR UNGENIIGENDE VORBEREITUNG 25
PLADOYER FUR EINE GRIINDLICHE VORBEREITUNG 27
3.2 EINORDNEN EINES SOFTWAREPROJEKTS 30
VORBEREITUNG BEI ITERATIVEN VERFAHREN 32
WAHLEN ZWISCHEN ITERATIVEN UND SEQUENTIELLEN ANSATZEN 34
3.3 DIE PROBLEMDEFINITION 35
3.4 DIE ANFORDERUNGEN 37
WOZU FORMELLE ANFORDERUNGEN? - - 37
DER MYTHOS VON FELSENFESTEN ANFORDERUNGEN 38
ANDERUNGEN VON ANFORDERUNGEN WAHREND DES BAUS 39
VIII INHALTSVERZEICHNIS
42
3.5 DIE ARCHITEKTUR
43
TYPISCHE KOMPONENTEN DER ARCHITEKTUR ^
3.6 ZEITBEDARF FIIR DIE ^
WEITERFIIHRENDE LITERATUR
ZUSAMMENFASSUNG
KAPITEL 4 SCHLUSSELENTSCHEIDUNGENFIIRDENBAU
4.1 AUSWAHLEN DER PROGRAMMIERSPRACHE ^
SPRACHBESCHREIBUNGEN
4.2 KONVENTIONEN FIIR DIE PROGRAMMIERUNG
4.3 IHR PLATZ AUF DER TECHNOLOGIEWELLE
67
BEISPIEL FUR DAS PROGRAMMIEREN IN EINE SPRACHE
68
4.4 AUSWAHLEN VON ZENTRALEN 69
ZUSAMMENFASSUNG
7
^
TEIL II ERSTELLEN VON QUALITATIV HOCHWERTIGEM CODE 73
KAPITEL 5 ENTWURF BEIM BAU
75
5.1 HERAUSFORDERUNGEN BEIM ENTWURF 76
ENTWURF IST EIN VERZWICKTES PROBLEM 76
ENTWURF IST EIN SCHLUDRIGER PROZESS (AUCH WENN DAS ERGEBNIS STIMMT) . 77
BEIM ENTWURF GEHT ES URN KOMPROMISSE UND PRIORITATEN 78
DER ENTWURF ERFORDERT BESCHRANKUNGEN 78
ENTWURF IST NICHT DETERMINISTISCH 78
DER ENTWURF ALS HEURISTISCHER PROZESS 78
DER ENTWURF ENTWICKELT SICH EVOLUTIONAR 79
5.2 SCHLIISSELKONZEPTE FIIR DEN ENTWURF 79
DAS PRIMARE ZIEL: ZAHMEN DER KOMPLEXITAT 79
WUNSCHENSWERTE MERKMALE EINES ENTWURFS 82
ENTWURFSSTUFEN 84
5.3 BAUSTEINE ENTWERFEN: HEURISTIK 89
REALE OBJEKTE 90
KONSISTENTE ABSTRAKTIONEN 91
KAPSELN VON IMPLEMENTIERUNGSDETAILS 93
WANN VERERBUNG DEN ENTWURF VEREINFACHT 93
VERBERGEN VON INFORMATIONEN 94
IDENTIFIZIEREN VON BEREICHEN, DIE SICH WAHRSCHEINLICH ANDERN 100
LOSE KOPPLUNG 103
ENTWURFSMUSTER 106
ANDERE HEURISTISCHE VERFAHREN 109
ZUSAMMENFASSUNG DER HEURISTISCHEN ENTWURFSVERFAHREN 112
RICHTLINIEN ZUM EINSATZ HEURISTISCHER VERFAHREN 112
5.4 ENTWURFSTECHNIKEN H4
ITERATION ^4
TEILE UND HERRSCHE
115
TOP-DOWN- UND BOTTOM-UP-ENTWURFSANSATZE
INHALTSVERZEICHNIS
IX
EXPERIMENTELLE PROTOTYPEN 118
TEAMWORK BEIM ENTWURF 119
WIE VIEL ENTWURF IST GENUG? 120
DOKUMENTIEREN DES ENTWURFS 121
5.5 ANMERKUNGEN ZU VERBREITETEN METHODEN 123
WEITERFUHRENDE LITERATUR 124
GRUNDLAGEN DES SOFTWAREENTWURFS 124
THEORIE DES SOFTWAREENTWURFS 125
ENTWURFSMUSTER 125
ALLGEMEINER ENTWURF 125
STANDARDS 126
ZUSAMMENFASSUNG 127
KAPLTEL 6 VOMUMGANGMITDERARBEITERKLASSE 129
6.1 GRUNDLAGEN FUR KLASSEN: ABSTRAKTE DATENTYPEN 130
WANN BENOTIGEN SIE EINEN ABSTRAKTEN DATENTYP? EIN BEISPIEL 130
DIE VORTEILE ABSTRAKTER DATENTYPEN 131
WEITERE BEISPIELE FUR ADTS 133
MEHRFACHE DATENINSTANZEN MIT ADTS AUCH AUBERHALB
OBJEKTORIENTIERTER UMGEBUNGEN 135
ADTS UND KLASSEN 137
6.2 GUTE KLASSENSCHNITTSTELLEN 137
GUTE ABSTRAKTIONEN 137
GUTE KAPSELUNG 143
6.3 ENTWURFS- UND IMPLEMENTIERUNGSFRAGEN 148
EINBETTUNG (HAT EIN-BEZIEHUNGEN) 148
VERERBUNG (IST EIN-BEZIEHUNGEN) 149
MEMBERFUNKTIONEN UND-DATEN 155
KONSTRUKTOREN 156
6.4 GRIINDE FUR DAS ERSTELLEN EINER KLASSE 158
KLASSEN, DIE SIE VERMEIDEN SOLLTEN 161
ZUSAMMENFASSUNG DER GRIINDE FUR DAS ERSTELLEN EINER KLASSE 162
6.5 SPRACHSPEZIFISCHE UNTERSCHIEDE 162
6.6 JENSEITS VON KLASSEN: PAKETE 163
WEITERFUHRENDE LITERATUR 165
ZUSAMMENFASSUNG 166
KAPITEL 7 QUAIITATSMERKMALEGUTERROUTINEN 167
7.1 GRIINDE FUR DAS ERSTELLEN VON ROUTINEN 170
OPERATIONEN, DIE FUR EINE EIGENE ROUTINE ZU EINFACH ERSCHEINEN 172
ZUSAMMENFASSUNG DER GRIINDE FUR DAS ERSTELLEN EINER ROUTINE 173
7.2 ENTWURF AUF DER ROUTINENEBENE 174
7.3 GUTE ROUTINENNAMEN 177
7.4 WIE LANG DARF EINE ROUTINE SEIN? 179
7.5 ROUTINENPARAMETER 181
X INHALTSVERZEICHNIS
7.6 BESONDERHEITEN BEIM EINSATZ VON FUNKTIONEN
SOLLTEN SIE EINE FUNKTION ODER EINE PROZEDUR VERWENDEN?
ZURIICKGEBEN DES ERGEBNISWERTS BEI FUNKTIONEN 1
7.7 MAKRO- UND INLINEROUTINEN
ALTERNATIVEN ZUM EINSATZ VON MAKROROUTINEN L
9
^
INLINEROUTINEN
192
ZUSAMMENFASSUNG
1QC
KAPITEL 8 DEFENSIVE
8.1 SCHUTZ VOR UNGULTIGEN EINGABEDATEN
196
8.2 SICHERHEITSABFRAGEN
197
EINEN EIGENEN MECHANISMUS FUR SICHERHEITSABFRAGEN ERSTELLEN 199
RICHTLINIEN FUR DEN EINSATZ VON SICHERHEITSABFRAGEN 199
8.3 TECHNIKEN FUR DIE FEHLERBEHANDLUNG 202
ROBUSTHEIT UND KORREKTHEIT 205
BERIICKSICHTIGEN DER FEHLERBEHANDLUNG IM ENTWURF 206
8.4 AUSNAHMEN 206
8.5 DAMMEN SIE DIE AUSWIRKUNGEN VON FEHLERN EIN 212
DIE BEZIEHUNG ZWISCHEN BARRIKADEN UND SICHERHEITSABFRAGEN 214
8.6 FEHLERSUCHHILFEN 214
FUR DIE ENTWICKLUNGSVERSION GELTEN KAUM EINSCHRANKUNGEN 214
FEHLERSUCHHILFEN - VON ANFANG AN 215
ANGRIFF IST DIE BESTE VERTEIDIGUNG: OFFENSIVE PROGRAMMIERUNG 215
DAS ENTFERNEN DER FEHLERSUCHHILFEN EINPLANEN 216
8.7 WIE VIEL DEFENSIVE PROGRAMMIERUNG SOLI IN DER FERTIGEN VERSION
VERBLEIBEN? 218
8.8 VORSICHT BEI DER DEFENSIVEN
PROGRAMMIERUNG! 220
WEITERFIIHRENDE LITERATUR 221
ZUSAMMENFASSUNG 222
KAPITEL9 PSEUDOCODE-PROGRAMMIERUNG 223
9.1 BAUPHASEN FUR KLASSEN UND ROUTINEN 223
SCHRITTE BEIM BAUEN EINER KLASSE 224
SCHRITTE BEIM BAUEN EINER ROUTINE 225
9.2 PSEUDOCODE FUR PROFIS 225
9.3 BAUEN VON
ROUTINEN MITHILFE DES PPP 228
ENTWERFEN DER ROUTINE 228
SCHREIBEN DES CODES 233
OBERPRIIFEN DES QUELLTEXTES 238
AUFRAUMARBEITEN 240
WIEDERHOLEN SIE NOTIGENFALLS EINZELNE SCHRITTE 241
9.4 ALTERNATIVEN ZUM PPP 241
ZUSAMMENFASSUNG
INHALTSVERZEICHNIS
XI
TEIL III VARIABLEN 245
KAPITEL 10 DEREINSATZ VON VARIABLEN 247
10.1 KLEINE DATENKUNDE 248
DATENTYPEN - DER WISSENSTEST 248
WEITERFUHRENDE LITERATUR ZU DATENTYPEN 249
10.2 VARIABLENDEKLARATIONEN VEREINFACHEN 249
IMPLIZITE DEKLARATIONEN 249
10.3 RICHTLINIEN FUR DAS INITIALISIEREN VON VARIABLEN 250
10.4 DER GIILTIGKEITSBEREICH 254
REFERENZEN AUF VARIABLEN LOKALISIEREN 254
NUR EINE TOTE VARIABLE IST EINE GUTE VARIABLE: HALTEN SIE DIE
LEBENSDAUER VON VARIABLEN SO KURZ WIE MOGLICH 255
ALLGEMEINE RICHTLINIEN ZUM VERKLEINERN DES GULTIGKEITSBEREICHS .... 258
ANMERKUNGEN ZUM VERKLEINERN DES GULTIGKEITSBEREICHS 260
10.5 PERSISTENZ 261
10.6 ZEITPUNKT DER BINDUNG 262
10.7 BEZIEHUNGEN ZWISCHEN DATENTYPEN UND STEUERSTRUKTUREN 263
10.8 VARIABLEN NUR FUR EINEN EINZIGEN ZWECK VERWENDEN 265
ZUSAMMENFASSUNG 267
KAPITEL 11 DIEMACHTGUTERVARIABLENNAMEN 269
11.1 WAS IST EIN GUTER NAME? 269
DAS WICHTIGSTE ZUERST 270
AUSRICHTUNG AUF DAS PROBLEM 271
OPTIMALE LANGE VON NAMEN 272
DER EINFLUSS DES GULTIGKEITSBEREICHS AUF VARIABLENNAMEN 272
VARIABLENNAMEN, DIE FUR BERECHNETE WERTE STEHEN 273
GEGENSATZPAARE IN VARIABLENNAMEN 274
11.2 NAMEN FIIR BESTIMMTE DATENTYPEN 274
NAMEN FUR SCHLEIFENINDEXE 274
NAMEN FUR STATUSVARIABLEN 276
NAMEN FUR TEMPORARE VARIABLEN 277
NAMEN FUR BOOLESCHE VARIABLEN 278
NAMEN FIIR AUFZAHLUNGSTYPEN 279
NAMEN FIIR KONSTANTEN 280
11.3 DIE VORTEILE VON NAMENSKONVENTIONEN 280
KONVENTIONEN - WOZU? 280
WANN BRAUCHEN SIE EINE NAMENSKONVENTION? 281
STUFEN DER FORMALITAT 281
11.4 INFORMELLE NAMENSKONVENTIONEN 282
RICHTLINIEN FIIR SPRACHUNABHANGIGE KONVENTIONEN 282
RICHTLINIEN FUR SPRACHABHANGIGE KONVENTIONEN 285
MISCHEN VON PROGRAMMIERSPRACHEN 286
BEISPIELE FIIR NAMENSKONVENTIONEN 287
11.5 STANDARDISIERTE PRAFIXE 289
ABKIIRZUNGEN FUR BENUTZERDEFINIERTE TYPEN 289
XII INHALTSVERZEICHNIS
SEMANTIKPRAFIXE 290
VORZIIGE VON STANDARDISIERTEN PRAFLXEN 291
11.6 KURZE, LESBARE NAMEN 292
ALLGEMEINE RICHTLINIEN FIIR ABKIIRZUNGEN 292
PHONETISCHE ABKURZUNGEN 292
EINIGE ANMERKUNGEN ZU ABKURZUNGEN 293
11.7 SCHLECHTE NAMEN 295
ZUSAMMENFASSUNG 299
KAPITEL 12 GRUNDLEGENDE DATENTYPEN 301
12.1 GRUNDLEGENDES ZU ZAHLEN 301
12.2 INTEGER 303
12.3 GLEITKOMMAZAHLEN 305
12.4 ZEICHEN UND STRINGS 307
STRINGS IN C 309
12.5 BOOLESCHE VARIABLEN 311
12.6 AUFZAHLUNGSTYPEN 312
WAS ABER, WENN IHRE SPRACHE KEINE AUFZAHLUNGSTYPEN KENNT? 316
12.7 BENANNTE KONSTANTEN 317
12.8 ARRAYS 319
12.9 ERSTELLEN EIGENER TYPEN 321
WARUM SIND DIE BEISPIELE FIIR SELBSTDEFMIERTE TYPEN IN PASCAL
UND ADA GESCHRIEBEN? 324
RICHTLINIEN FIIR DAS ERSTELLEN SELBSTDEFINIERTER TYPEN 324
ZUSAMMENFASSUNG 327
KAPITEL 13 UNGEWDHNLICHE DATENTYPEN 329
13.1 STRUKTUREN 329
13.2 ZEIGER 333
DIE FUNKTIONSWEISE VON ZEIGERN 333
ALLGEMEINE HINWEISE ZU ZEIGERN 335
ZEIGER IN C++ 343
ZEIGER IN C 344
13.3 GLOBALE DATEN 345
HAUFIGE PROBLEME MIT GLOBALEN DATEN 346
EINSATZZWECKE FIIR GLOBALE DATEN 348
BENUTZEN SIE GLOBALE DATEN NUR ALS LETZTE MOGLICHKEIT 349
ZUGRIFFSROUTINEN ANSTELLE GLOBALER DATEN 350
VERMINDERN DER MIT GLOBALEN VARIABLEN VERBUNDENEN RISIKEN 353
WEITERFIIHRENDE LITERATUR 354
ZUSAMMENFASSUNG 355
Y
E
J|IV ANWEISUNGEN 357
KAPITEL
14 SEQUENTIELLERABLAUF 359
14.1 ANWEISUNGEN MIT ZWINGENDER REIHENFOLGE 359
14.2 ANWEISUNGEN, DEREN REIHENFOLGE KEINE ROLLE
SPIELT 362
XIII
363
364
365
367
367
367
370
373
373
374
378
379
379
380
381
384
384
384
385
387
388
393
394
396
397
399
401
403
403
405
406
408
410
410
411
412
413
418
420
421
421
423
QUELLTEXT VON OBEN NACH UNTEN LESEN
VERWANDTE ANWEISUNGEN ZUSAMMENFASSEN
ZUSAMMENFASSUNG
BEDINGUNGSAUSDRIICKE
15.1 IF-ANWEISUNGEN
EINFACHE I/-L/IEN-ANWEISUNGEN
IF-THEN-ELSE-KETTEN
15.2 CASE-ANWEISUNGEN
DIE SINNVOLLSTE FALLREIHENFOLGE
TIPPS FUR DEN EINSATZ VON CNSE-ANWEISUNGEN
ZUSAMMENFASSUNG
SCHLEIFENSTEUERUNG
16.1 AUSWAHLEN DES SCHLEIFENTYPS
EINSATZZWECKE FUR WHILE-SCHLEIFEN
EINSATZZWECKE FUR SCHLEIFEN MIT EXIF-ANWEISUNG ....
EINSATZZWECKE FUR/OR-SCHLEIFEN
EINSATZZWECKE FURFOREACH-SCHLEIFEN
16.2 STEUERN DER SCHLEIFE
EINSPRUNG IN DIE SCHLEIFE
DIE SCHLEIFENMITTE
VERLASSEN DER SCHLEIFE
OBERPRTIFEN DER ENDPUNKTE
SCHLEIFENINDEXE
WIE LANG SOLLTE EINE SCHLEIFE SEIN?
16.3 SCHLEIFEN EINFACH VON INNEN NACH AUFIEN ANLEGEN ....
16.4 ZUSAMMENHANGE ZWISCHEN SCHLEIFEN UND ARRAYS
ZUSAMMENFASSUNG
UNGEWOHNIICHE STEUERANWEISUNGEN
17.1 MEHRERE RTICKKEHRANWEISUNGEN IN EINER ROUTINE
17.2 REKURSION
EIN BEISPIEL FUR REKURSION
TIPPS FUR DEN EINSATZ DER REKURSION
17.3 GOTO
WAS SPRICHT GEGEN GOTO
7
.
WAS SPRICHT FUR GOTO
7
.
DIESER GLAUBENSKRIEG IST SINNLOS
FEHLERBEHANDLUNG UND GOTO
GOTO UND GEMEINSAM GENUTZTER CODE IM ELSE-ZWEIG . .
ZUSAMMENFASSUNG DER RICHTLINIEN FUR DEN EINSATZ VON
GOTO-ANWEISUNGEN
17.4 BEWERTUNG DER UNGEWOHNLICHEN STEUERSTRUKTUREN . . .
WEITERFUHRENDE LITERATUR
ZUSAMMENFASSUNG
XIV JNHALRSVERZEFCHNFC
KAPITEF 18 TABEFFENGESTEUERTE METHODEN V ???
18.1 AUGEMEINE OBERLEGUNGEN ZUM EINSATZ TABELLERIGESTEUERTER METHODEN
425
VORAUSSETZUNGEN FUR DEN EINSATZ TABELLENGESTEUERTER METHODEN 426
18.2 DIREKTER ZUGRIFF
EIN BEISPIEL: ANZAHL DER TAGE PRO MONAT 427
BEISPIEL: VERSICHERUNGSBEITRAGE 428
BEISPIEL FIIR EIN FLEXIBLES
NACHRICHTENFORMAT 430
KONSTRUIEREN EINES SUCHSCHLIISSELS 437
18.3 INDIZIERTER ZUGRIFF * * 438
18.4 STUFENWEISER ZUGRIFF 440
18.5 ANDERE BEISPIELE FIIR DIE TABELLENSUCHE 442
ZUSAMMENFASSUNG 443
KAPITEF 19 AUGEMEINE GESICHTSPUNKTE
DER
ABFAUFSTEUERUNG 445
19.1 BOOLESCHE AUSDRIICKE 445
TRUE UND FALSE IN BOOLESCHEN, ABFRAGEN 445
VEREINFACHEN KOMPLIZIERTER AUSDRUCKE 447
FORMULIEREN SIE BOOLESCHE AUSDRUCKE POSITIV 449
BOOLESCHE AUSDRUCKE DURCH KLAMMERN STRUKTURIEREN 450
SO WERDEN BOOLESCHE AUSDRUCKE AUSGEWERTET 452
SCHREIBEN SIE NUMERISCHE VERGLEICHE IM SITIRT DER ZAHFENGERADEN . . .
453
RICHTLINIEN FIIR DEN VERGLEICH MIT 0 454
HAUFIGE PROBLEME MIT BOOLESCHEN AUSDRUCKEN 455
19.2 VERBUNDANWEISUNGEN (BLOCKE) 456
19.3 NULL-ANWEISUNGEN 457
19.4 TIEFE VERSCHACHTELUNGEN BEHERRSCHEN 458
ZUSAMMENFASSUNG: TECHNIKEN ZUM AUFLDSEN TIEFER VERSCHACHTELUNG . 467
19.5 SIRUKTURIERTE PROGRAMMIERUNG 467
DIE DREI KOMPONENTEN DER STRUKTURIERTEN PROGRAMMIERUNG 468
19.6 STEUERSTRUKTUREN UND KOMPLEXITAT 470
WELCHE BEDEUTUNG HAT DIE KOMPLEXITAT? 470
AUGEMEINE RJCHTLINIEN FUR DAS VERRINGERN DER KOMPLEXITAT 473
ANDERE ARTEN VON KOMPLEXITAT
47
2
ZUSAMMENFASSUNG
TELL V VERBESSERN DES PROGRAMMCODES 475
KAPITEL 20 DIE QUALITAT DER
SOFTWARE 477
20.1 MERKMALE DER SOFTWAREQUALITAT . 477
20.2 TECHNIKEN ZUR VERBESSERUNG DER SOFTWAREQUALITAT 480
DER ENTWICKLUNGSPROZESS 481
ZIELSETZUNG 482
20.3 RELATIVE EFFEKTIVITAT DER TECHNIKEN 483
PROZENTSATZ DER GEFUNDENEN FEHLER 483
KOSTEN DER FEHLERSUCHE 485
KOSTEN DER FEHLERBESEITIGUNG 485
INHALTSVERZEICHNIS
XV
20.4 ZEITPUNKT FUR DIE QUALITATSSICHERUNG 486
20.5 DAS GRUNDPRINZIP DER SOFTWAREQUALITAT 487
WEITERFIIHRENDE LITERATUR 489
WICHTIGE STANDARDS 489
ZUSAMMENFASSUNG 490
KAPITEL21 TEAMWORKBEIMBAU 491
21.1 TEAMWORKENTWICKLUNGSVERFAHREN . 491
TEAMWORK BEIM BAU ERGANZT ANDERE TECHNIKEN DER
QUALITATSSICHERUNG 492
TEAMWORK BEIM BAU VERBREITET FIRMENKULTUR UND
PROGRAMMIERERFAHRUNG 494
GEMEINSAME VERANTWORTUNG BETRIFFT ALLE ARTEN DES
TEAMWORKS BEIM BAU 494
TEAMWORK HILFT VOR UND NACH DEM BAU 495
21.2 PAARPROGRAMMIERUNG 495
FAKTOREN FUR ERFOLGREICHE PAARPROGRAMMIERUNG 495
VORTEILE DER PAARPROGRAMMIERUNG 496
21.3 FORMELLE INSPEKTIONEN 497
WELCHE ERGEBNISSE KONNEN SIE VON INSPEKTIONEN ERWARTEN? 497
DIE ROLLEN BEI DER INSPEKTION 498
PRINZIPIELLER ABLAUF EINER INSPEKTION 499
DAS EGO UND DIE INSPEKTION 502
INSPEKTIONEN BEI DIESEM BUCH 503
ZUSAMMENFASSUNG ZUM THEMA INSPEKTIONEN 503
21.4 ANDERE TEAMWORKTECHNIKEN 504
WALK-THROUGHS 504
LESEN DES QUELLCODES 506
VORFUHRUNGEN 507
VERGLEICH VON TEAMWORKTECHNIKEN BEIM SOFTWAREBAU 507
WEITERFIIHRENDE LITERATUR 508
PAARPROGRAMMIERUNG 508
INSPEKTIONEN 509
WICHTIGE STANDARDS . 509
ZUSAMMENFASSUNG 509
KAPITET 22 ENTWICKLERTESTS 511
22.1 ENTWICKLERTESTS UND DIE SOFTWAREQUALITAT 512
TESTEN WAHREND DES BAUS 514
22.2 EMPFOHLENE ANSATZE FUR ENTWICKLERTESTS 515
TESTS ZUERST ODER ZULETZT? 516
EINSCHRANKUNGEN VON ENTWICKLERTESTS 516
22.3 TIPPS UND TRICKS ZUM TESTEN 517
UNVOLLSTANDIGES TESTEN 517
STRUKTURIERTER BASISTEST 518
TEST DES DATENFLUSSES 521
AQUIVALENZAUFTEILUNG - 524
XVI INHALTSVERZEICHNIS
525
FEHLER WITTERN
525
RANDBEDINGUNGEN ANALYSIEREN ^
BOSARTIGE DATEN
GUTARTIGE DATEN * * * * 7
VERWENDEN SIE TESTFALLE, DIE
SICH LEICHT VON HAND NACHVOLLZIEHEN
528
528
22.4 TYPISCHE FEHLER
WELCHE KLASSEN ENTHALTEN DIE MEISTEN FEHLER?
528
EINE KLASSIFIZIERUNG DER FEHLER 529
ANTEIL DER BEIM BAU ENTSTEHENDEN FEHLER 531
WIE VIELE FEHLER SIND ZU ERWARTEN?
532
FEHLER BEIM TESTEN 533
22.5 TESTWERKZEUGE
534
EIN GERIIST ZUM TESTEN EINZELNER KLASSEN 534
ERGEBNISVERGLEICHE 536
DATENGENERATOREN FUR TESTS 536
COVERAGEMONITORE 537
DATENREKORDER/PROTOKOLLIERUNG 537
SYMBOLISCHE DEBUGGER 538
SYSTEM PERTURBERS - STORENFRIEDE IM SYSTEM 538
FEHLERDATENBANKEN 539
22.6 SO VERBESSERN SIE
IHRE TESTMETHODEN 539
TESTPLANUNG 539
WIEDERHOLTE TESTS (REGRESSIONSTESTS) 540
AUTOMATISIERTE TESTS 540
22.7 TESTDATEN SPEICHERN 541
PERSONLICHE TESTAUFZEICHNUNGEN 541
WEITERFUHRENDE LITERATUR 542
TESTEN 542
TESTGERIISTE 543
ERSTEHEN VON TESTFAHEN 543
WICHTIGE STANDARDS 543
ZUSAMMENFASSUNG 544
KAPITEL 23 DEBUGGING 547
23.1 DEBUGGING IM OBERBLICK 547
DEBUGGING UND DIE QUALITAT VON SOFTWARE 548
DAS DEBUGGINGTEMPO 548
SEHEN SIE FEHLER ALS CHANCEN 549
EINE UNGEEIGNETE METHODE 55O
23.2 SO FINDEN SIE EINEN FEHLER 552
DIE WISSENSCHAFTLICHE METHODE 552
TIPPS FUR DAS AUFFMDEN VON FEHLERN
556
SYNTAXFEHLER
23.3 BESEITIGEN VON FEHLERN 5^2
23.4 DEBUGGING UND PSYCHOLOGIE
566
INHALTSVERZEICHNIS
XVII
PSYCHOLOGISCHE SCHEUKLAPPEN UND DIE BLINDHEIT BEIM DEBUGGING . . . 567
DER NUTZEN DES PSYCHOLOGISCHEN ABSTANDS 568
23.5 DEBUGGINGTOOLS 569
QUELLTEXTVERGLEICHER 569
COMPILERWARNUNGEN 569
ERWEITERTE SYNTAX- UND LOGIKPRUFUNG 570
PROFILER 570
TESTGERUSTE 570
DEBUGGER 570
WEITERFUHRENDE LITERATUR 573
ZUSAMMENFASSUNG 574
KAPITEF 24 REFAKTORIEREN 575
24.1 ERSCHEINUNGSFORMEN DER EVOLUTION VON SOFTWARE 576
PHILOSOPHIE DER SOFTWAREEVOLUTION 576
24.2 EINFIIHRUNG IN DAS REFAKTORIEREN 577
ANLASSE ZUM REFAKTORIEREN 577
WAS REFAKTORIEREN NICHT BEDEUTET 583
24.3 KONKRETE REFAKTORIERUNGSVERFAHREN 583
REFAKTORIERUNGSVERFAHREN AUF DATENEBENE 584
REFAKTORIERUNGSVERFAHREN AUF ANWEISUNGSEBENE 585
REFAKTORIERUNGSVERFAHREN AUF ROUTINENEBENE 586
REFAKTORIERUNGSVERFAHREN FIIR DIE KLASSENIMPLEMENTIERUNG 587
REFAKTORIERUNGSVERFAHREN FUR DIE KLASSENSCHNITTSTELLE 588
REFAKTORIERUNGSVERFAHREN AUF SYSTEMEBENE 589
24.4 SICHER REFAKTORIEREN 592
GEFAHREN BEIM REFAKTORIEREN 594
24.5 REFAKTORIERUNGSSTRATEGIEN 595
WEITERFUHRENDE LITERATUR 598
ZUSAMMENFASSUNG 598
KAPITEL 25 STRATEGIENZURCODEOPTIMIERUNG 599
25.1 LEISTUNG IM UBERBLICK 600
QUALITATSMERKMALE UND LEISTUNG 600
LEISTUNG UND CODETUNING 600
25.2 EINFIIHRUNG IN DAS CODETUNING 603
DAS PARETO-PRINZIP 604
AMMENMARCHEN 605
WANN SOLLTE TUNING DURCHGEFUHRT WERDEN? 608
COMPILEROPTIMIERUNGEN 609
25.3 SCHNECKEN UND BLEIGEWICHTE 610
HAUFIGE LEISTUNGSBREMSEN 610
RELATIVER AUFWAND HAUFIG VORKOMMENDER OPERATIONEN 613
25.4 MESSUNGEN 615
MESSUNGEN MIISSEN GENAU SEIN 616
25.5 ITERATION 617
25.6 ZUSAMMENFASSUNG: ANSATZE BEI DER CODEOPTIMIERUNG 618
XVIII INHALTSVERZEICHNIS
WEITERFUHRENDE LITERATUR
LEISTUNG
6IG
ALGORITHMEN UND DATENTYPEN
ZUSAMMENFASSUNG
KAPITEL 26 TECHNIKEN
26.1 LOGIK ; F
4
BEENDEN SIE ABFRAGEN, WENN DAS ERGEBNIS KLAR IST
ABFRAGEN NACH HAUFIGKEIT ANORDNEN
625
LEISTUNG DER VERGLEICHSOPERATIONEN IN AHNLICHEN LOGIKSTRUKTUREN . . .
627
ERSETZEN KOMPLIZIERTER AUSDRIICKE DURCH SUCHTABELLEN 628
SPATE AUSWERTUNG *
Y
26.2 SCHLEIFEN
629
VERZWEIGUNGEN BESEITIGEN
630
FUSION VON SCHLEIFEN ^31
AUFROLLEN ^32
DIE ARBEIT IN SCHLEIFEN VERRINGERN 634
WACHTERKLAUSELN * 635
VIELBESCHAFTIGTE SCHLEIFEN GEHOREN AN DIE INNERSTE POSITION 636
VERRINGERN DER STARKE 637
26.3 DATENUMWANDLUNGEN 638
VERWENDEN SIE INTEGER ANSTELLE VON GLEITKOMMAZAHLEN 638
VERRINGERN SIE DIE ANZAHL DER DIMENSIONEN EINES ARRAYS
SO WEIT WIE MOGLICH 639
VERRINGERN SIE DIE VERWEISE AUF ARRAYS 640
EINSATZ ZUSATZLICHER INDEXE 640
CACHING 641
26.4 AUSDRIICKE 643
AUSNUTZEN ALGEBRAISCHER IDENTITAT 643
VERRINGERN DER STARKE 643
INITIALISIERUNG WAHREND DER KOMPILIERUNG 645
HABEN SIE EIN WACHSAMES AUGE AUF SYSTEMROUTINEN 646
VERWENDEN SIE FUR KONSTANTEN DEN KORREKTEN DATENTYP 647
ERGEBNISSE VORAB BERECHNEN 648
BESEITIGEN WIEDERHOLTER BERECHNUNGEN 651
26.5 ROUTINEN 552
INLINEROUTINEN 552
26.6 MASCHINENNAHE SPRACHEN 653
26.7 JE MEHR SICH DIE DINGE ANDERN, DESTO MEHR BLEIBEN SIE GLEICH 656
WEITERFUHRENDE LITERATUR 557
ZUSAMMENFASSUNG
INHALTSVERZEICHNIS
XIX
TEILVI FAKTORENFURDASGESAMTSYSTEM 659
KAPITEL 27 WIE DIE PROGRAMMGRORE
DEN BAU BEEINFLUSST 661
27.1 KOMMUNIKATION UND PROGRAMMGROFIE 661
27.2 TYPISCHE PROJEKTGROFIEN 662
27.3 PROJEKTGROFIE UND FEHLER 663
27.4 PROJEKTGROFIE UND PRODUKTIVITAT 665
27.5 PROJEKTGROFIE UND ENTWICKLUNGSTATIGKEITEN 665
ABHANGIGKEIT DES ANTEILS DER TATIGKEITEN VON DER PROJEKTGROFSE 666
PROGRAMME, PRODUKTE, SYSTEME UND SYSTEMPRODUKTE 667
METHODOLOGIE UND PROJEKTGROFIE 668
WEITERFUHRENDE LITERATUR 670
ZUSAMMENFASSUNG 671
KAPITEL 28 ENTWICKLUNGSMANAGEMENT 673
28.1 FORDERN GUTER PROGRAMMIERUNG 674
TJBERLEGUNGEN BEIM FESTLEGEN VON STANDARDS 674
TECHNIKEN ZUM FORDERN EINES GUTEN PROGRAMMIERSTILS 674
DIE ROLLE DIESES BUCHS 676
28.2 KONFIGURATIONSMANAGEMENT 676
WAS IST KONFIGURATIONSMANAGEMENT? 676
ANDERUNGEN AN ANFORDERUNGEN UND ENTWURF 678
ANDERUNGEN IM QUELLCODE 680
VERSIONEN DER VERWENDETEN TOOLS 680
COMPUTERKONFIGURATIONEN 681
SICHERUNGSPLAN 681
WEITERFUHRENDE LITERATUR ZUM KONFIGURATIONSMANAGEMENT 682
28.3 ABSCHATZEN EINES ZEITPLANS FUR DEN BAU 683
ANSATZE FUR DIE EINSCHATZUNG 683
SCHATZEN DES AUFWANDS FUR DEN BAU 685
EINFLUSSE AUF DEN ZEITPLAN 686
SCHATZUNG UND KONTROLLE 687
WAS TUN, WENN SIE HINTER DEM PLAN LIEGEN? 687
WEITERFUHRENDE LITERATUR ZUM ABSCHATZEN VON SOFTWAREPROJEKTEN ... 689
28.4 MESSUNGEN 689
WEITERFUHRENDE LITERATUR ZU SOFTWAREMESSUNGEN 691
28.5 PROGRAMMIERER SIND AUCH MENSCHEN 692
WIE VERBRINGEN PROGRAMMIERER IHRE ZEIT? 692
SCHWANKUNGEN IN LEISTUNG UND QUALITAT 693
RELIGIOSE DEBATTEN 694
DER ARBEITSPLATZ 695
WEITERFUHRENDE LITERATUR ZU PROGRAMMIERERN ALS MENSCHEN 697
28.6 MANAGEN SIE DEN MANAGER 698
WEITERFUHRENDE LITERATUR ZUM ENTWICKLUNGSMANAGEMENT 698
WICHTIGE STANDARDS 699
ZUSAMMENFASSUNG 699
701
701
703
703
704
706
706
709
710
711
711
713
714
714
718
719
720
721
723
724
724
724
727
728
729
729
729
730
732
733
733
734
734
735
735
736
737
738
739
741
742
742
744
INTEGRATION
27.1 DIE BEDEUTUNG DER INTEGRATIONSMETHODE
29.2 INTEGRATIONSFREQUENZ * SYNCHRON ODER INKREMENTELL?
SYNCHRONE INTEGRATION
INKREMENTELLE INTEGRATION
29.3 STRATEGIEN DER INKREMENTELLEN INTEGRATION
TOP-DOWN-INTEGRATION
BOTTOM-UP-INTEGRATION
SANDWICHINTEGRATION
RISIKOORIENTIERTE INTEGRATION
MERKMALSORIENTIERTE INTEGRATION
T-FORMIGE INTEGRATION
ZUSAMMENFASSUNG DER INTEGRATIONSANSATZE
29.4 TAGLICHER BUILDVORGANG UND SMOKETEST
FUR WELCHE PROJEKTARTEN EIGNET SICH DER TAGLICHE BUILDVORGANG?
KONTINUIERLICHE INTEGRATION
WEITERFTIHRENDE LITERATUR
ZUSAMMENFASSUNG
PROGRAMMIERTOOLS
30.1 ENTWURFSTOOLS
30.2 QUELLCODETOOLS
EDITOREN
ANALYSE DER CODEQUALITAT
REFAKTORIEREN VON QUELLECODE
VERSIONSKONTROLLE
DATENVERZEICHNISSE
30.3 TOOLS FUR AUSFUHRBARE PROGRAMME
PROGRAMMERSTELLUNG
DEBUGGING
TESTWERKZEUGE
CODETUNING
30.4 TOOLORIENTIERTE UMGEBUNGEN
30.5 PROGRAMMIERTOOLS SELBST ERSTELLEN
PROJEKTSPEZIFISCHE TOOLS
SKRIPTS .
30.6 TOOLS: WUNSCH UND WIRKLICHKEIT
WEITERFTIHRENDE LITERATUR
ZUSAMMENFASSUNG
SOFTWAREHANDWERK
LAYOUT UND STIL
31.1 GRUNDLAGEN DES LAYOUTS
EXTREME IM LAYOUT
DER GRUNDSATZ DER FORMATIERUNG ....
INHALTSVERZEICHNIS
XXI
INTERPRETATIONEN EINES PROGRAMMS 744
WAS IST GUTES LAYOUT WERT? 745
LAYOUT ALS RELIGION 747
ZIELE GUTEN LAYOUTS 747
31.2 LAYOUTTECHNIKEN 748
ZWISCHENRAUME 748
KLAMMERN 749
31.3 LAYOUTSTILE 750
REINE BLOCKE 750
SIMULATION REINER BLOCKE 751
BEGRENZEN VON BLOCKEN MIT BEGIN/END- ODER KLAMMERPAAREN 753
ENDLINELAYOUT 754
WELCHER STIL IST DER BESTE? 756
31.4 LAYOUT VON STEUERSTRUKTUREN 756
FEINHEITEN DER FORMATIERUNG VON ANWEISUNGSBLOCKEN 757
ANDERE GESICHTSPUNKTE 758
31.5 LAYOUT EINZELNER ANWEISUNGEN 764
ANWEISUNGSLANGE 764
KLARHEIT DURCH LEERZEICHEN 764
FORMATIERUNG UMBROCHENER ZEILEN 765
NUR EINE ANWEISUNG PRO ZEILE 769
LAYOUT FUR DATENDEKLARATIONEN 772
31.6 LAYOUT VON KOMMENTAREN 774
31.7 LAYOUT VON ROUTINEN 777
31.8 LAYOUT VON KLASSEN 778
LAYOUT VON KLASSENSCHNITTSTELLEN 779
LAYOUT VON KLASSENIMPLEMENTIERUNGEN 779
LAYOUT VON DATEIEN UND PROGRAMMEN 782
WEITERFUHRENDE LITERATUR 785
ZUSAMMENFASSUNG 785
KAPITEL 32 SELBSTDOKUMENTIERENDER CODE 787
32.1 EXTERNE DOKUMENTATION 787
32.2 PROGRAMMIERSTIL ALS DOKUMENTATION 788
32.3 KOMMENTIEREN ODER NICHT KOMMENTIEREN, DAS IST HIER DIE FRAGE 791
32.4 SCHLUSSELELEMENTE SINNVOLLER KOMMENTARE 795
KOMMENTARTYPEN 796
SINNVOLLE KOMMENTIERUNG 798
DIE OPTIMALE ZAHL VON KOMMENTAREN 801
32.5 TECHNIKEN DER KOMMENTIERUNG 802
KOMMENTIEREN EINZELNER ZEILEN 802
KOMMENTIEREN VON ABSATZEN IM CODE 804
KOMMENTIEREN VON DATENDEKLARATIONEN 811
KOMMENTIEREN VON STEUERSTRUKTUREN 813
KOMMENTIEREN VON ROUTINEN 814
KOMMENTIEREN VON KLASSEN, DATEIEN UND PROGRAMMEN 819
XXII LNHALTSVERZEICHNIS
KAPITEL 33
KAPITEL 34
KAPITEL 35
822
32.6 IEEE-STANDARDS
823
STANDARDS FUR DIE SOFTWAREENTWICKLUNG ^
STANDARDS FUR DIE QUALITATSSICHERUNG VON SOFTWARE ^
OBERBLICK UBER STANDARDS *
G24
WEITERFUHRENDE LITERATUR
G26
ZUSAMMENFASSUNG
827
PERSONLICHERSTIL
33.1 WELCHE ROUE SPIEH DER PERSONLICHE
33.2 INTELLIGENZ UND
33.3 NEUGIER
33.4
33.5 KOMMUNIKATION UND ZUSAMMENARBEIT
836
33.6 KREATIVITAT UND DISZIPLIN
837
33.7 FAULHEIT
838
33.8 DINGE DIE GAR NICHT SO WICHTIG SIND
838
BEHARRLICHKEIT
839
ERFAHRUNG
839
DER UBERFLIEGER
8
^
33.9 GEWOHNHEITEN
8
41
WEITERFUHRENDE LITERATUR 842
ZUSAMMENFASSUNG 843
OER PROGRAMMIERER ALS
HANDWERKER 845
34.1 KRIEG DER KOMPLEXITATL 845
34.2 ARBEITSSTIL - SIE HABEN DIE WAHL 847
34.3 ERST DER MENSCH, DANN DER COMPUTER 849
34.4 PROGRAMMIEREN IN DIE SPRACHE UND IN DER SPRACHE 851
34.5 KONVENTIONEN SIND KONZENTRATIONSHILFEN 852
34.6 PROGRAMMIEREN MIT DER TERMINOLOGIE DES PRAXISPROBLEMS 853
DIE UNTERTEILUNG EINES PROGRAMMS IN ABSTRAKTIONSEBENEN 854
ARBEITSTECHNIKEN FUR DIE NIEDRIGERE EBENE DES PROBLEMBEREICHS 855
34.7 ACHTUNG, STEINSCHLAG! 856
34.8 ITERATION, WIEDER UND WIEDER 858
34.9 DU SOLLEST TRENNEN SOFTWARE UND RELIGION 859
DAS SOFTWAREORAKEL 859
EKLEKTIZISMUS 860
PROBIEREN GEHT UBER STUDIEREN 861
ZUSAMMENFASSUNG G62
WEITERFUHRENDE LITERATUR 863
35.1 INFORMATIONEN IIBER DEN BAU VON SOFTWARE 864
35.2 WEITERE ASPEKTE DER SOFTWAREENTWICKLUNG 865
SOFTWARE IM ALLGEMEINEN 865
SOFTWARE-ENGINEERING IM OBERBLICK 866
ANDERE KOMMENTIERTE BIBLIOGRAFIEN * * * 866
INHALTSVERZEICHNIS
XXIII
35.3 FACHZEITSCHRIFTEN 867
ZEITSCHRIFTEN FUR DEN MASSENMARKT 867
WISSENSCHAFTLICHE ZEITSCHRIFTEN 867
FACHZEITSCHRIFTEN ZU SPEZIALGEBIETEN 868
35.4 EINE LESELISTE FUR DEN SOFTWAREENTWICKLER 868
BIICHER FUR ANFANGER 868
BIICHER FIIR FORTGESCHRITTENE 869
BIICHER FIIR LEITENDE ENTWICKLER 869
35.5 MITGLIEDSCHAFT IN EINER BERUFSORGANISATION 870
BIBLIOGRAFIE 871
INDEX 891
DER AUTOR 909
|
any_adam_object | 1 |
author | MacConnell, Steve |
author_facet | MacConnell, Steve |
author_role | aut |
author_sort | MacConnell, Steve |
author_variant | s m sm |
building | Verbundindex |
bvnumber | BV019719851 |
classification_rvk | ST 230 |
classification_tum | DAT 300f |
ctrlnum | (OCoLC)76641025 (DE-599)BVBBV019719851 |
dewey-full | 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004 |
dewey-search | 004 |
dewey-sort | 14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | dt. Ausg. der 2nd ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01901nam a2200493 c 4500</leader><controlfield tag="001">BV019719851</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20080801 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">050303s2005 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">05,N05,0068</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">973342382</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">386063593X</subfield><subfield code="9">3-86063-593-X</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)76641025</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV019719851</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="1" ind2=" "><subfield code="a">ger</subfield><subfield code="h">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-BY</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-29T</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-12</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-11</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 300f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">MacConnell, Steve</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">Code complete</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Code complete</subfield><subfield code="c">Steve McConnell</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">dt. Ausg. der 2nd ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Unterschleißheim</subfield><subfield code="b">Microsoft</subfield><subfield code="c">2005</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXXIII, 909 S.</subfield><subfield code="b">Ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Strukturierte Programmierung</subfield><subfield code="0">(DE-588)4058133-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Strukturierte Programmierung</subfield><subfield code="0">(DE-588)4058133-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013047014&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-013047014</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV019719851 |
illustrated | Illustrated |
indexdate | 2024-07-09T20:04:34Z |
institution | BVB |
isbn | 386063593X |
language | German English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-013047014 |
oclc_num | 76641025 |
open_access_boolean | |
owner | DE-29T DE-91G DE-BY-TUM DE-12 DE-Aug4 DE-634 DE-858 DE-11 |
owner_facet | DE-29T DE-91G DE-BY-TUM DE-12 DE-Aug4 DE-634 DE-858 DE-11 |
physical | XXXIII, 909 S. Ill. |
publishDate | 2005 |
publishDateSearch | 2005 |
publishDateSort | 2005 |
publisher | Microsoft |
record_format | marc |
spelling | MacConnell, Steve Verfasser aut Code complete Code complete Steve McConnell dt. Ausg. der 2nd ed. Unterschleißheim Microsoft 2005 XXXIII, 909 S. Ill. txt rdacontent n rdamedia nc rdacarrier Softwareentwicklung (DE-588)4116522-6 gnd rswk-swf Software Engineering (DE-588)4116521-4 gnd rswk-swf Strukturierte Programmierung (DE-588)4058133-0 gnd rswk-swf Softwareentwicklung (DE-588)4116522-6 s Strukturierte Programmierung (DE-588)4058133-0 s 1\p DE-604 Software Engineering (DE-588)4116521-4 s 2\p DE-604 DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013047014&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | MacConnell, Steve Code complete Softwareentwicklung (DE-588)4116522-6 gnd Software Engineering (DE-588)4116521-4 gnd Strukturierte Programmierung (DE-588)4058133-0 gnd |
subject_GND | (DE-588)4116522-6 (DE-588)4116521-4 (DE-588)4058133-0 |
title | Code complete |
title_alt | Code complete |
title_auth | Code complete |
title_exact_search | Code complete |
title_full | Code complete Steve McConnell |
title_fullStr | Code complete Steve McConnell |
title_full_unstemmed | Code complete Steve McConnell |
title_short | Code complete |
title_sort | code complete |
topic | Softwareentwicklung (DE-588)4116522-6 gnd Software Engineering (DE-588)4116521-4 gnd Strukturierte Programmierung (DE-588)4058133-0 gnd |
topic_facet | Softwareentwicklung Software Engineering Strukturierte Programmierung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013047014&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT macconnellsteve codecomplete |