Weniger schlecht programmieren:
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Abschlussarbeit Buch |
Sprache: | German |
Veröffentlicht: |
Köln [u.a.]
O'Reilly
2013
|
Ausgabe: | 1. Aufl. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis Klappentext |
Beschreibung: | XX, 431 S. graph. Darst. |
ISBN: | 9783897215672 3897215675 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV039733586 | ||
003 | DE-604 | ||
005 | 20161004 | ||
007 | t| | ||
008 | 111130s2013 xx d||| m||| 00||| ger d | ||
015 | |a 11,N32 |2 dnb | ||
016 | 7 | |a 1014056810 |2 DE-101 | |
020 | |a 9783897215672 |c : EUR 19.90 (DE) |9 978-3-89721-567-2 | ||
020 | |a 3897215675 |9 3-89721-567-5 | ||
024 | 3 | |a 9783897215672 | |
035 | |a (OCoLC)767800224 | ||
035 | |a (DE-599)DNB1014056810 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
049 | |a DE-706 |a DE-473 |a DE-M347 |a DE-92 |a DE-1050 |a DE-11 |a DE-859 |a DE-29T |a DE-19 |a DE-739 |a DE-634 |a DE-83 |a DE-M158 | ||
082 | 0 | |a 005.1 |2 22/ger | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a DAT 300f |2 stub | ||
084 | |a 004 |2 sdnb | ||
100 | 1 | |a Passig, Kathrin |d 1970- |e Verfasser |0 (DE-588)122342321 |4 aut | |
245 | 1 | 0 | |a Weniger schlecht programmieren |c Kathrin Passig ; Johannes Jander |
250 | |a 1. Aufl. | ||
264 | 1 | |a Köln [u.a.] |b O'Reilly |c 2013 | |
300 | |a XX, 431 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
502 | |a Literaturangaben | ||
650 | 0 | 7 | |a Bug |g Informatik |0 (DE-588)4238603-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
655 | 7 | |0 (DE-588)4113937-9 |a Hochschulschrift |2 gnd-content | |
689 | 0 | 0 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 0 | 1 | |a Bug |g Informatik |0 (DE-588)4238603-2 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Jander, Johannes |e Verfasser |0 (DE-588)1059892952 |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Passau - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024581417&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
856 | 4 | 2 | |m Digitalisierung UB Passau - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024581417&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA |3 Klappentext |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-024581417 |
Datensatz im Suchindex
_version_ | 1825117483241046016 |
---|---|
adam_text |
Inhalt
Vorwort. XIII
Teil!:
ЫьШ
Hallo Welt
1 Bin ich hier richtig?. 3
2 Zwischen
Hybris
und Demut. 7
Schwächen als Stärken . 9
Richtiges
muss
nicht schwierig sein . 12
Teil 2: Programmieren als Verständigung
3 Du bist wie die andern. 17
4 Konventionen. 19
Englisch oder nicht? . 20
Die Sternchen des Anstoßes . 23
Konventionen im Team . 26
5 Namensgebung . 29
Namenskonventionen. 29
Von Byzanz über Konstantinopel nach Istanbul. 31
Was Namen können sollten. 33
Der Stoff, aus dem die Namen sind . 40
Boolesche Variablen. 50
Objektorientierte Programmierung . 52
Datenbanken. 53
Falsche Freunde . 55
Wie es weitergeht. 58
6 Kommentare. 61
Mehr ist manchmal mehr. 63
Zur äußeren Form von Kommentaren . 64
Dokumentationskommentare. 66
Wann und was soll man kommentieren?. 61
Anzeichen,
dass
ein Kommentar eine gute Idee wäre. 69
Problematische Kommentare . 74
7 Code lesen . 77
Muss
ich wirklich? . 77
Zuerst die Dokumentation lesen. 79
Sourcecode ausdrucken . 80
Zeichnen Sie schematisch auf, was einzelne Programmteile tun . 81
Von oben nach unten, von leicht nach schwer. 82
Lernen Sie Spurenlesen. 82
80/20 ist gut genug (meistens) . 83
Vergessen Sie die Daten nicht. 84
Der Beweis ist das Programm. 84
Gemeinsames Code-Lesen . 85
8 Hilfesuchen . 87
Der richtige Zeitpunkt . 88
An der richtigen Stelle fragen . 91
Die Anfrage richtig strukturieren . 91
An den Leser denken . 94
Nicht zu viel erwarten. 95
Keine unbewussten Fallen stellen. 96
Höflich bleiben - egal, was passiert . 96
9 Lizenzzum Helfen. 99
Der falsche Anlass. 99
Die eigennützige Motivation. 101
Die fehlende Einfühlung. 102
Zu viel auf einmal. 103
Antworten auf konkrete Fragen . 105
Wenn Sie selbst keine Antwort wissen. 106
Wenn Sie mit schlechteren Programmierern zusammenarbeiten. 107
Schlechten Code gefasst ertragen. 108
10 Überleben im Team. 111
Ich war's nicht!. 113
Der Bus-Faktor. 114
Zusammenarbeit mit Anwendern. 116
Zusammenarbeit mit Freiwilligen. 117
Aussprache von Begriffen. 117
Teil 3: Umgang mit Fehlern
11 Unrecht haben für Anfänger . 123
Im Irrtum zu Hause . 124
Fehlerforschung im Alltag . 125
Der Hund hat die Datenbank gefressen!. 126
Der gepolsterte Helm . 127
12
Debugging I:
Fehlersuche als Wissenschaft. 131
Systematische Fehlersuche. 133
Beobachtung. 135
Was das Beobachten erschwert . 136
Analyse und Hypothesenbildung. 138
Was das Bilden von Hypothesen erschwert. 138
Test der Hypothesen . 139
Was das Testen von Hypothesen erschwert. 140
13
Debugging II:
Findeden Fehler . 143
Fehlermeldungen sind unsere Freunde. 143
Wer will da was von mir?. 144
Diagnosewerkzeuge und -Strategien. 147
Wenn sonst nichts hilft. 160
Wenn auch das nicht hilft. 162
Die häufigsten Fehlerursachen schlechter Programmierer. 163
14 Schlechte Zeichen oder Braune
M
& Ms. 165
Zu große Dateien . 166
Sehr lange Funktionen . 167
Zu breite Funktionen . 167
Tief verschachtelte if/then-Bedingungen . 168
Mitten im Code auftauchende Zahlen . 170
Komplexe arithmetische Ausdrücke im Code . 170
Globale Variablen. 171
Reparaturcode. 172
Eigene Implementierung vorhandener Funktionen . 173
Sonderfälle . 174
Inkonsistente Schreibweisen. 174
Funktionen mit mehr als fünf Parametern . 174
Code-Duplikation. 175
Zweifelhafte Dateinamen . 176
Leselabyrinth . 176
Ratlose Kommentare. 176
Sehr viele Basisklassen oder Interfaces. 177
Sehr viele Methoden oder
Member-
Variablen . 177
Auskommentierte Codeblöcke und Funktionen . 178
Browservorschriften . 178
Verdächtige Tastaturgeräusche. 179
15
Refactoring
. 181
Neu schreiben oder nicht? . 182
Wann sollte man refakturieren?. 183
Eins nach dem anderen. 186
Code auf mehrere Dateien verteilen. 191
Ein Codemodul in kleinere aufspalten. 191
Nebenwirkungen entfernen . 194
Code zusammenfassen . 195
Bedingungen verständlicher gestalten. 198
Die richtige Schleife für den richtigen Zweck. 201
Schleifen verständlicher gestalten. 201
Variablen kritisch betrachten . 203
Refactoring
von Datenbanken . 204
Was man nebenbei erledigen kann. 206
Ist das jetzt wirklich besser? . 208
Wann man auf
Refactoring
besser verzichtet. 208
Ein Problem und seine Lösung. 211
16
Testing
. 213
Warum testen? . 213
Testverfahren . 214
Datenvalidierungen. 220
Performancetests.*. 222
Richtig testen . 225
17 Warnhinweise. 227
GET
und POST. 228
Zeichenkodierung. 229
Zeitangaben . 230
Kommazahlen als
String,
Integer oder
Decimal
speichern. 232
Variablen als Werte oder Referenzen übergeben . 233
Der schwierige Umgang mit dem Nichts . 236
Rekursion. 237
Usability
. 238
18 Kompromisse . 241
Trügerische Tugenden . 243
Absolution: Wann
Bad Practice okay
ist . 247
Teil 4: Wahl der Mittel
19 Mach es nicht selbst . 255
Der Weg zur Lösung. 257
Bibliotheken. 258
Umgang mit Fremdcode. 261
Was man nicht selbst zu machen braucht . 262
20 Werkzeugkasten. 273
Editoren . 274
Welche Programmiersprache ist die richtige?. 275
REPL. 279
Diff und Patch. 282
Paketmanager. 284
Frameworks . 286
Entwicklungsumgebungen. 289
21 Versionskontrolle . 297
Alternativen . 299
Arbeiten mit einem VCS. 300
Konflikte auflösen. 302
Welches Versionskontrollsystem? . 303
Gute Ideen beim Arbeiten mit Versionskontrolle. 305
Schlechte Ideen beim Arbeiten mit Versionskontrolle. 306
Versionskontrollsysteme als Softwarebausteine. 307
22
Command and Conquer
- vom Überleben auf der Kommandozeile . 309
Mehr Effizienz durch Automatisierung. 310
Unsere langbärtigen Vorfahren. 312
Windows. 313
Was jeder Programmierer wissen sollte . 313
Navigation . 318
Dateien. 318
Betrachten. 321
Suchen und Finden. 322
Ressourcen schonen. 325
Zusammenarbeit. 326
Zeitsteuerung . 326
Editieren auf dem Server. 328
Internet. 328
Muss
ich mir das alles merken? . 330
Not the whole Shebang!
. 330
23 Objektorientierte Programmierung . 333
Vorteile der objektorientierten Programmierung. 335
Die Prinzipien objektorientierter Programmierung . 337
Sinnvoller Einsatz von OOP. 344
Nachteile und Probleme. 347
Unterschiedliche Objektmodelle, je nach Sprache. 348
Objektorientierte Programmierung und Weltherrschaftspläne . 348
24 Aufbewahrung von Daten . 351
Dateien . 352
Versionskontrollsysteme. 357
Datenbanken. 357
25 Sicherheit. 365
Wichtige Konzepte. 366
Vor- und Nachteile der Offenheit. 368
Vom Umgang mit Passwörtern. 370
Authentifizierungsverfahren. 371
SQL Injection
und XSS - die Gefahren in User-Content . 375
Weiße Listen sind besser als schwarze. 380
Alle Regler nach links. 381
■4L
Auch die Hintertür abschließen. 383
Penetration
Testing
. 384
Die Fehler der anderen. 385
Sicherheit ist ein Prozess. 386
26 Nützliche Konzepte. 389
Exceptions
. 389
Error Handling
. 392
State und Statelessness. 396
IDs, GUIDs,
UUIDs . 397
Sprachfamilien . 399
Variablentypen. 401
Trennung von Inhalt und Präsentation. 404
Trennung von Entwicklungs- und Produktivserver. 405
Selektoren. 406
Namespaces . 408
Scope
von Variablen. 410
Assertions
. 411
Transaktionen und
Rollbacks
., . . 414
Hashes,
Digests,
Fingerprints.
415
CRUD
und
REST
. 417
27 Wie geht es weiter?. 419
Was ist ein guter Programmierer?. 420
Zum Weiterlesen . 421
Danksagungen . 422
Index. 423
Weniger schlecht programmieren
Kathrin Passig gilt als Meisterin des unorthodoxen Blickwinkels, und
wenn sie sich zusammen tut mit einem gestandenen Entwickler, um ein
Programmierbuch zu schreiben, darf man gespannt sein. Mit Sach¬
verstand und Witz widmen sich die beiden den Holzwegen, Fehlein¬
schätzungen und Irrtümern, die insbesondere Programmier-Neulingen
und Hobby-Entwicklern das Leben schwer machen. Ein Buch für alle, die
ahnen,
dass
ein besserer Programmierer in ihnen steckt.
Hätte ich das früher gewusst!
Auch wenn es nicht unbedingt auf der Hand liegt: Programmieren hat
viel mit Kommunikation zu tun. Programmierstil, Namensgebung,
Umgang mit Kommentaren oder mit Fremdcode - oftmals haben sich
gerade dort Konventionen etabliert, wo eine Sprache keine strengen
Vorgaben macht. Lernen Sie die unterschiedlichen Traditionen der ver¬
schiedenen Sprachen kennen und erfahren Sie, wie Sie sich auf diesem
unsicheren Terrain halbwegs unfallfrei bewegen.
Vom Umgang mit Fehlern
Wer hat nicht schon Stunden damit verbracht, nach einem Fehler im
Programm zu suchen, um herauszufinden, warum etwas nicht so funk¬
tioniert, wie eigentlich geplant? Es gibt eine Menge Anzeichen, die
daraufschließen lassen, wo genau etwas im Code nicht stimmt. Lernen
Sie, solche Roststellen zu erkennen, Fehler mit systematischem
Debug¬
ging
zu finden und durch Tests dauerhaft zu bändigen.
Die Qual der Wahl
Nicht jede Programmiersprache eignet sich gleich gut
fürjedé
Aufgabe,
Daten lassen sich auf unterschiedliche Weise vorhalten, Entwick¬
lungsumgebungen und Versionskontrollsysteme gibt es viele - auf tech¬
nischer Ebene gilt es jede Menge Entscheidungen zu treffen, deren
Konsequenzen schwer zu überreißen sind. Universell gültige Empfeh¬
lungen kann niemand abgeben, aber mit den Erfahrungswerten und
Entscheidungshilfen der Autoren fahren Sie für den Anfang nicht
schlecht. |
any_adam_object | 1 |
author | Passig, Kathrin 1970- Jander, Johannes |
author_GND | (DE-588)122342321 (DE-588)1059892952 |
author_facet | Passig, Kathrin 1970- Jander, Johannes |
author_role | aut aut |
author_sort | Passig, Kathrin 1970- |
author_variant | k p kp j j jj |
building | Verbundindex |
bvnumber | BV039733586 |
classification_rvk | ST 230 |
classification_tum | DAT 300f |
ctrlnum | (OCoLC)767800224 (DE-599)DNB1014056810 |
dewey-full | 005.1 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1 |
dewey-search | 005.1 |
dewey-sort | 15.1 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 1. Aufl. |
format | Thesis Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV039733586</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20161004</controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">111130s2013 xx d||| m||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">11,N32</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1014056810</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783897215672</subfield><subfield code="c">: EUR 19.90 (DE)</subfield><subfield code="9">978-3-89721-567-2</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3897215675</subfield><subfield code="9">3-89721-567-5</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783897215672</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)767800224</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1014056810</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="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-706</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-M158</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1</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">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">Passig, Kathrin</subfield><subfield code="d">1970-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)122342321</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Weniger schlecht programmieren</subfield><subfield code="c">Kathrin Passig ; Johannes Jander</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Köln [u.a.]</subfield><subfield code="b">O'Reilly</subfield><subfield code="c">2013</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XX, 431 S.</subfield><subfield code="b">graph. Darst.</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="502" ind1=" " ind2=" "><subfield code="a">Literaturangaben</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Bug</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4238603-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="0">(DE-588)4113937-9</subfield><subfield code="a">Hochschulschrift</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Bug</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4238603-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Jander, Johannes</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1059892952</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Passau - ADAM Catalogue Enrichment</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=024581417&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Passau - ADAM Catalogue Enrichment</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=024581417&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Klappentext</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-024581417</subfield></datafield></record></collection> |
genre | (DE-588)4113937-9 Hochschulschrift gnd-content |
genre_facet | Hochschulschrift |
id | DE-604.BV039733586 |
illustrated | Illustrated |
indexdate | 2025-02-26T11:01:07Z |
institution | BVB |
isbn | 9783897215672 3897215675 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-024581417 |
oclc_num | 767800224 |
open_access_boolean | |
owner | DE-706 DE-473 DE-BY-UBG DE-M347 DE-92 DE-1050 DE-11 DE-859 DE-29T DE-19 DE-BY-UBM DE-739 DE-634 DE-83 DE-M158 |
owner_facet | DE-706 DE-473 DE-BY-UBG DE-M347 DE-92 DE-1050 DE-11 DE-859 DE-29T DE-19 DE-BY-UBM DE-739 DE-634 DE-83 DE-M158 |
physical | XX, 431 S. graph. Darst. |
publishDate | 2013 |
publishDateSearch | 2013 |
publishDateSort | 2013 |
publisher | O'Reilly |
record_format | marc |
spelling | Passig, Kathrin 1970- Verfasser (DE-588)122342321 aut Weniger schlecht programmieren Kathrin Passig ; Johannes Jander 1. Aufl. Köln [u.a.] O'Reilly 2013 XX, 431 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier Literaturangaben Bug Informatik (DE-588)4238603-2 gnd rswk-swf Programmierung (DE-588)4076370-5 gnd rswk-swf (DE-588)4113937-9 Hochschulschrift gnd-content Programmierung (DE-588)4076370-5 s Bug Informatik (DE-588)4238603-2 s DE-604 Jander, Johannes Verfasser (DE-588)1059892952 aut Digitalisierung UB Passau - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024581417&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis Digitalisierung UB Passau - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024581417&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA Klappentext |
spellingShingle | Passig, Kathrin 1970- Jander, Johannes Weniger schlecht programmieren Bug Informatik (DE-588)4238603-2 gnd Programmierung (DE-588)4076370-5 gnd |
subject_GND | (DE-588)4238603-2 (DE-588)4076370-5 (DE-588)4113937-9 |
title | Weniger schlecht programmieren |
title_auth | Weniger schlecht programmieren |
title_exact_search | Weniger schlecht programmieren |
title_full | Weniger schlecht programmieren Kathrin Passig ; Johannes Jander |
title_fullStr | Weniger schlecht programmieren Kathrin Passig ; Johannes Jander |
title_full_unstemmed | Weniger schlecht programmieren Kathrin Passig ; Johannes Jander |
title_short | Weniger schlecht programmieren |
title_sort | weniger schlecht programmieren |
topic | Bug Informatik (DE-588)4238603-2 gnd Programmierung (DE-588)4076370-5 gnd |
topic_facet | Bug Informatik Programmierung Hochschulschrift |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024581417&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024581417&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT passigkathrin wenigerschlechtprogrammieren AT janderjohannes wenigerschlechtprogrammieren |