Effektives Arbeiten mit Legacy Code: Refactoring und Testen bestehender Software
Gespeichert in:
Beteilige Person: | |
---|---|
Format: | Buch |
Sprache: | Deutsch Englisch |
Veröffentlicht: |
Heidelberg [u.a.]
mitp
2011
|
Ausgabe: | 1. Aufl. |
Schlagwörter: | |
Links: | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020658794&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
Umfang: | 429 S. graph. Darst. 240 mm x 170 mm |
ISBN: | 9783826690211 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV036741330 | ||
003 | DE-604 | ||
005 | 20140709 | ||
007 | t| | ||
008 | 101026s2011 xx d||| |||| 00||| ger d | ||
015 | |a 09,N40,0033 |2 dnb | ||
016 | 7 | |a 996780416 |2 DE-101 | |
020 | |a 9783826690211 |c PB. : ca. EUR 39.95 |9 978-3-8266-9021-1 | ||
024 | 3 | |a 9783826690211 | |
028 | 5 | 2 | |a 826690210 |
035 | |a (OCoLC)699150828 | ||
035 | |a (DE-599)DNB996780416 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 1 | |a ger |h eng | |
049 | |a DE-M347 |a DE-824 |a DE-12 |a DE-91G |a DE-859 |a DE-573 |a DE-29T |a DE-634 |a DE-92 |a DE-M158 |a DE-703 | ||
082 | 0 | |a 005.14 |2 22/ger | |
082 | 0 | |a 005.12028 |2 22/ger | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a ST 233 |0 (DE-625)143620: |2 rvk | ||
084 | |a DAT 320f |2 stub | ||
084 | |a 004 |2 sdnb | ||
100 | 1 | |a Feathers, Michael C. |e Verfasser |0 (DE-588)135594901 |4 aut | |
240 | 1 | 0 | |a Working effectively with Legacy Code |
245 | 1 | 0 | |a Effektives Arbeiten mit Legacy Code |b Refactoring und Testen bestehender Software |c Michael Feathers |
250 | |a 1. Aufl. | ||
264 | 1 | |a Heidelberg [u.a.] |b mitp |c 2011 | |
300 | |a 429 S. |b graph. Darst. |c 240 mm x 170 mm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Refactoring |0 (DE-588)4784343-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwarewartung |0 (DE-588)4197459-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwaresanierung |0 (DE-588)4197460-8 |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 Programmänderung |0 (DE-588)4287920-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Codeoptimierung |0 (DE-588)4010348-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmcode |0 (DE-588)4734701-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Anwendungssoftware |0 (DE-588)4120906-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Testen |0 (DE-588)4367264-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Legacy-System |0 (DE-588)4757634-0 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Legacy-System |0 (DE-588)4757634-0 |D s |
689 | 0 | 1 | |a Programmcode |0 (DE-588)4734701-6 |D s |
689 | 0 | 2 | |a Softwaresanierung |0 (DE-588)4197460-8 |D s |
689 | 0 | 3 | |a Programmänderung |0 (DE-588)4287920-6 |D s |
689 | 0 | 4 | |a Softwarewartung |0 (DE-588)4197459-1 |D s |
689 | 0 | 5 | |a Refactoring |0 (DE-588)4784343-3 |D s |
689 | 0 | 6 | |a Testen |0 (DE-588)4367264-4 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Legacy-System |0 (DE-588)4757634-0 |D s |
689 | 1 | 1 | |a Anwendungssoftware |0 (DE-588)4120906-0 |D s |
689 | 1 | 2 | |a Software Engineering |0 (DE-588)4116521-4 |D s |
689 | 1 | 3 | |a Codeoptimierung |0 (DE-588)4010348-1 |D s |
689 | 1 | |C b |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=020658794&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-020658794 |
Datensatz im Suchindex
DE-BY-TUM_call_number | 0102 DAT 320f 2011 A 152 |
---|---|
DE-BY-TUM_katkey | 1751641 |
DE-BY-TUM_location | 01 |
DE-BY-TUM_media_number | 040010201206 |
_version_ | 1821933285426593792 |
adam_text | IMAGE 1
INHALTSVERZEICHNIS
VORWORT 13
GELEITWORT 15
DANKSAGUNGEN 21
EINFUEHRUNG - W IE MAN DIESES BUCH LESEN SOLLTE 23
TEIL I WIE WANDEL FUNKTIONIERT 25
1 SOFTWARE AENDERN 27
1.1 VIER GRUENDE, SOFTWARE ZU AENDERN 27
1.2 RISKANTE AENDERUNGEN 31
2 MIT FEEDBACK ARBEITEN 33
2.1 WAS SIND UNIT-TESTS? 36
2.2 HIGHER-LEVEL-TESTS 39
2.3 TESTABDECKUNG 39
2.4 DER ALGORITHMUS ZUR AENDERUNG VON LEGACY CODE 42
3 UEBERWACHUNG UND TRENNUNG 45
3.1 KOLLABORATEURE SIMULIEREN 47
4 DAS SEAM-MODELL 53
4.1 EIN RIESIGES BLATT MIT TEXT 53
4.2 SEAMS 54
4.3 SEAM-ARTEN 57
5 TOOLS 69
5.1 AUTOMATISIERTE REFACTORING-TOOLS 69
5.2 MOCK-OBJEKTE 71
5.3 UNIT-TEST-HARNISCHE 72
5.4 ALLGEMEINE TEST-HARNISCHE 77
BIBLIOGRAFISCHE INFORMATIONEN HTTP://D-NB.INFO/996780416
DIGITALISIERT DURCH
IMAGE 2
INHALTSVERZEICHNIS
TEIL II SOFTWARE AENDERN 79
6 ICH HABE NICHT VIEL ZEIT UND ICH MUSS DEN CODE AENDERN 81
6.1 SPROUT METHOD 83
6.2 SPROUT CLASS 87
6.3 WRAP METHOD 91
6.4 WRAP CLASS 95
6.5 ZUSAMMENFASSUNG 100
7 AENDERUNGEN BRAUCHEN EINE EWIGKEIT 101
7.1 VERSTAENDLICHKEIT 101
7.2 VERZOEGERUNGSZEIT 102
7.3 DEPENDENCIES AUFHEBEN 103
7.4 ZUSAMMENFASSUNG 108
8 WIE FUEGE ICH EINE FUNKTION HINZU? 109
8.1 TEST-DRIVEN DEVELOPMENT (TDD) 110
8.2 PROGRAMMING BY DIFFERENCE 116
8.3 ZUSAMMENFASSUNG 125
9 ICH KANN DIESE KLASSE NICHT IN EINEN TEST-HARNISCH EINFUEGEN 127 9.1
DER FALL DES IRRITIERENDEN PARAMETERS 127
9.2 DER FALL DER VERBORGENEN DEPENDENCY 134
9.3 DER FALL DER VERKETTETEN KONSTRUKTIONEN 138
9.4 DER FALL DER IRRITIERENDEN GLOBALEN DEPENDENCY 140
9.5 DER FALL DER SCHRECKLICHEN INDUDE-DEPENDENCIES 148
9.6 DER FALL DER ZWIEBEL-PARAMETER 152
9.7 DER FALL DES ALIAS-PARAMETERS 154
10 ICH KANN DIESE METHODE NICHT IN EINEM TEST-HARNISCH AUSFUHREN... 159
10.1 DER FALL DER VERBORGENEN METHODE 159
10.2 DER FALL DER »HILFREICHEN SPRACHFUNKTION 163
10.3 DER FALL DES NICHT ERKENNBAREN NEBENEFFEKTS 166
11 ICH MUSS EINE AENDERUNG VORNEHMEN. WELCHE METHODEN SOLLTE ICH TESTEN?
173
11.1 EFFEKTE ANALYSIEREN 173
11.2 VORWAERTSANALYSE (REASONING FORWARD) 179
11.3 EFFEKTFORTPFLANZUNG (EFFECT PROPAGATION) 184
11.4 TOOLS FUER EFFEKTANALYSEN 186
11.5 VON DER EFFEKTANALYSE LERNEN 188
11.6 EFFEKTSKIZZEN VEREINFACHEN 189
IMAGE 3
INHALTSVERZEICHNIS
12 ICH MUSS IN EINEM BEREICH VIELES AENDERN. MUSS ICH
DIE DEPENDENCIES FUER ALLE BETEILIGTEN KLASSEN AUFHEBEN? 193
12.1 ABFANGPUNKTE 194
12.2 EIN DESIGN MIT EINSCHNUERPUNKTEN BEURTEILEN 201
12.3 FALLEN BEI EINSCHNUERPUNKTEN 203
13 ICH MUSS ETWAS AENDERN, WEISS ABER NICHT, WELCHE TESTS ICH SCHREIBEN
SOLL 205
13.1 CHARAKTERISIERUNGS-TESTS 206
13.2 KLASSEN CHARAKTERISIEREN 209
13.3 GEZIELT TESTEN 210
13.4 EINE HEURISTIK FUER DAS SCHREIBEN VON CHARAKTERISIERUNGS-TESTS 215
14 DEPENDENCIES VON BIBLIOTHEKEN BRINGEN MICH UM 217
15 MEINE ANWENDUNG BESTEHT NUR AUS API-AUFRUFEN 219
16 ICH VERSTEHE DEN CODE NICHT GUT GENUG, UM IHN ZU AENDERN 227
16.1 NOTIZEN/SKIZZEN 228
16.2 LISTING MARKUP 229
16.3 SCRATCH REFACTORING 230
16.4 UNGENUTZTEN CODE LOESCHEN 231
17 MEINE ANWENDUNG HAT KEINE STRUKTUR 233
17.1 DIE GESCHICHTE DES SYSTEMS ERZAEHLEN 234
17.2 NAKED CRC 238
17.3 CONVERSATION SCRUTINY 241
18 DER TEST-CODE IST IM WEG 243
18.1 KONVENTIONEN FUER KLASSENNAMEN 243
18.2 DER SPEICHERORT FUER TESTS 244
19 MEIN PROJEKT IST NICHT OBJEKTORIENTIERT. WIE KANN ICH ES SICHER
AENDERN? 247
19.1 EIN EINFACHER FALL 248
19.2 EIN SCHWIERIGER FALL 248
19.3 NEUES VERHALTEN HINZUFUEGEN 252
19.4 DIE OBJEKTORIENTIERUNG NUTZEN 255
19.5 ES IST ALLES OBJEKTORIENTIERT 258
20 DIESE KLASSE IST ZU GROSS UND SOLL NICHT NOCH GROESSER WERDEN 261
20.1 AUFGABEN ERKENNEN 264
20.2 ANDERE TECHNIKEN 278
IMAGE 4
INHALTSVERZEICHNIS
20.3 DIE NAECHSTEN SCHRITTE 278
20.4 NACH DEM EXTRAHIEREN VON KLASSEN 281
21 ICH AENDERE IM GANZEN SYSTEM DENSELBEN CODE 283
21.1 ERSTE SCHRITTE 286
22 ICH MUSS EINE MONSTER-METHODE AENDERN UND KANN KEINE TESTS DAFUER
SCHREIBEN 301
22.1 SPIELARTEN VON MONSTERN 301
22.2 MONSTER MIT AUTOMATISCHER REFACTORING-UNTERSTUETZUNG ZAEHMEN . .. 306
22.3 DIE HERAUSFORDERUNG DES MANUELLEN REFACTORINGS 308
22.4 STRATEGIE 316
23 WIE ERKENNE ICH, DASS ICH NICHTS KAPUTTMACHE? 319
23.1 HYPERAWARE EDITING 319
23.2 SINGLE-GOAL EDITING 321
23.3 PRESERVE SIGNATURES 322
23.4 LEAN ON THE COMPILER 325
24 WIR FUEHLEN UNS UEBERWAELTIGT. ES WIRD NICHT BESSER 329
TEIL IM TECHNIKEN ZUR AUFHEBUNG VON DEPENDENCIES 333
25 TECHNIKEN ZUR AUFHEBUNG VON DEPENDENCIES 335
25.1 ADAPT PARAMETER 335
25.2 BREAK OUT METHOD OBJECT 339
25.3 DEFINITION COMPLETION 345
25.4 ENCAPSULATE GLOBAL REFERENCES 347
25.5 EXPOSE STATIC METHOD 353
25.6 EXTRACT AND OVERRIDE CALL 356
25.7 EXTRACT AND OVERRIDE FACTORY METHOD 358
25.8 EXTRACT AND OVERRIDE GETTER 360
25.9 EXTRACT IMPLEMENTER 363
25.10 EXTRACT INTERFACE 368
25.11 INTRODUCE INSTANCE DELEGATOR 374
25.12 INTRODUCE STATIC SETTER 376
25.13 LINK SUBSTITUTION 382
25.14 PARAMETERIZE CONSTRUCTOR 383
25.15 PARAMETERIZE METHOD 386
10
IMAGE 5
INHALTSVERZEICHNIS
25.16 PRIMITIVIZE PARAMETER 388
25.17 PULL UP FEATURE 390
25.18 PUSH DOWN DEPENDENCY 394
25.19 REPLACE FUNCTION WITH FUNCTION POINTER 397
25.20 REPLACE GLOBAL REFERENCE WITH GETTER 400
25.21 SUBCLASS AND OVERRIDE METHOD 402
25.22 SUPERSEDE INSTANCE VARIABLE 405
25.23 TEMPLATE REDEFINITION 409
25.24 TEXT REDEFINITION 412
A REFACTORING 415
A.I EXTRACT METHOD 415
B GLOSSAR 421
STICHWORTVERZEICHNIS 423
11
|
any_adam_object | 1 |
author | Feathers, Michael C. |
author_GND | (DE-588)135594901 |
author_facet | Feathers, Michael C. |
author_role | aut |
author_sort | Feathers, Michael C. |
author_variant | m c f mc mcf |
building | Verbundindex |
bvnumber | BV036741330 |
classification_rvk | ST 230 ST 233 |
classification_tum | DAT 320f |
ctrlnum | (OCoLC)699150828 (DE-599)DNB996780416 |
dewey-full | 005.14 005.12028 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.14 005.12028 |
dewey-search | 005.14 005.12028 |
dewey-sort | 15.14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 1. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02849nam a2200685 c 4500</leader><controlfield tag="001">BV036741330</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20140709 </controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">101026s2011 xx d||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">09,N40,0033</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">996780416</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783826690211</subfield><subfield code="c">PB. : ca. EUR 39.95</subfield><subfield code="9">978-3-8266-9021-1</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783826690211</subfield></datafield><datafield tag="028" ind1="5" ind2="2"><subfield code="a">826690210</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)699150828</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB996780416</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="049" ind1=" " ind2=" "><subfield code="a">DE-M347</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-12</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-M158</subfield><subfield code="a">DE-703</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.14</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.12028</subfield><subfield code="2">22/ger</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">ST 233</subfield><subfield code="0">(DE-625)143620:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 320f</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">Feathers, Michael C.</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)135594901</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">Working effectively with Legacy Code</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Effektives Arbeiten mit Legacy Code</subfield><subfield code="b">Refactoring und Testen bestehender Software</subfield><subfield code="c">Michael Feathers</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Heidelberg [u.a.]</subfield><subfield code="b">mitp</subfield><subfield code="c">2011</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">429 S.</subfield><subfield code="b">graph. Darst.</subfield><subfield code="c">240 mm x 170 mm</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">Refactoring</subfield><subfield code="0">(DE-588)4784343-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwarewartung</subfield><subfield code="0">(DE-588)4197459-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwaresanierung</subfield><subfield code="0">(DE-588)4197460-8</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">Programmänderung</subfield><subfield code="0">(DE-588)4287920-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Codeoptimierung</subfield><subfield code="0">(DE-588)4010348-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmcode</subfield><subfield code="0">(DE-588)4734701-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Anwendungssoftware</subfield><subfield code="0">(DE-588)4120906-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Testen</subfield><subfield code="0">(DE-588)4367264-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Legacy-System</subfield><subfield code="0">(DE-588)4757634-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Legacy-System</subfield><subfield code="0">(DE-588)4757634-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Programmcode</subfield><subfield code="0">(DE-588)4734701-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Softwaresanierung</subfield><subfield code="0">(DE-588)4197460-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">Programmänderung</subfield><subfield code="0">(DE-588)4287920-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="4"><subfield code="a">Softwarewartung</subfield><subfield code="0">(DE-588)4197459-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="5"><subfield code="a">Refactoring</subfield><subfield code="0">(DE-588)4784343-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="6"><subfield code="a">Testen</subfield><subfield code="0">(DE-588)4367264-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Legacy-System</subfield><subfield code="0">(DE-588)4757634-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Anwendungssoftware</subfield><subfield code="0">(DE-588)4120906-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="2"><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="3"><subfield code="a">Codeoptimierung</subfield><subfield code="0">(DE-588)4010348-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="C">b</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=020658794&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-020658794</subfield></datafield></record></collection> |
id | DE-604.BV036741330 |
illustrated | Illustrated |
indexdate | 2024-12-20T14:41:03Z |
institution | BVB |
isbn | 9783826690211 |
language | German English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-020658794 |
oclc_num | 699150828 |
open_access_boolean | |
owner | DE-M347 DE-824 DE-12 DE-91G DE-BY-TUM DE-859 DE-573 DE-29T DE-634 DE-92 DE-M158 DE-703 |
owner_facet | DE-M347 DE-824 DE-12 DE-91G DE-BY-TUM DE-859 DE-573 DE-29T DE-634 DE-92 DE-M158 DE-703 |
physical | 429 S. graph. Darst. 240 mm x 170 mm |
publishDate | 2011 |
publishDateSearch | 2011 |
publishDateSort | 2011 |
publisher | mitp |
record_format | marc |
spellingShingle | Feathers, Michael C. Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software Refactoring (DE-588)4784343-3 gnd Softwarewartung (DE-588)4197459-1 gnd Softwaresanierung (DE-588)4197460-8 gnd Software Engineering (DE-588)4116521-4 gnd Programmänderung (DE-588)4287920-6 gnd Codeoptimierung (DE-588)4010348-1 gnd Programmcode (DE-588)4734701-6 gnd Anwendungssoftware (DE-588)4120906-0 gnd Testen (DE-588)4367264-4 gnd Legacy-System (DE-588)4757634-0 gnd |
subject_GND | (DE-588)4784343-3 (DE-588)4197459-1 (DE-588)4197460-8 (DE-588)4116521-4 (DE-588)4287920-6 (DE-588)4010348-1 (DE-588)4734701-6 (DE-588)4120906-0 (DE-588)4367264-4 (DE-588)4757634-0 |
title | Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software |
title_alt | Working effectively with Legacy Code |
title_auth | Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software |
title_exact_search | Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software |
title_full | Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software Michael Feathers |
title_fullStr | Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software Michael Feathers |
title_full_unstemmed | Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software Michael Feathers |
title_short | Effektives Arbeiten mit Legacy Code |
title_sort | effektives arbeiten mit legacy code refactoring und testen bestehender software |
title_sub | Refactoring und Testen bestehender Software |
topic | Refactoring (DE-588)4784343-3 gnd Softwarewartung (DE-588)4197459-1 gnd Softwaresanierung (DE-588)4197460-8 gnd Software Engineering (DE-588)4116521-4 gnd Programmänderung (DE-588)4287920-6 gnd Codeoptimierung (DE-588)4010348-1 gnd Programmcode (DE-588)4734701-6 gnd Anwendungssoftware (DE-588)4120906-0 gnd Testen (DE-588)4367264-4 gnd Legacy-System (DE-588)4757634-0 gnd |
topic_facet | Refactoring Softwarewartung Softwaresanierung Software Engineering Programmänderung Codeoptimierung Programmcode Anwendungssoftware Testen Legacy-System |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020658794&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT feathersmichaelc workingeffectivelywithlegacycode AT feathersmichaelc effektivesarbeitenmitlegacycoderefactoringundtestenbestehendersoftware |
Inhaltsverzeichnis
Paper/Kapitel scannen lassen
Paper/Kapitel scannen lassen
Teilbibliothek Mathematik & Informatik
Signatur: |
0102 DAT 320f 2011 A 152 Lageplan |
---|---|
Exemplar 1 | Ausleihbar Am Standort |