Sie sind hier
E-Book

Weniger schlecht programmieren

AutorJohannes Jander, Kathrin Passig
VerlagO'Reilly Verlag
Erscheinungsjahr2013
Seitenanzahl456 Seiten
ISBN9783897215689
FormatPDF
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis24,90 EUR
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 Sachverstand und Witz widmen sich die beiden den Holzwegen, Fehleinschä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 verschiedenen 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 funktioniert, wie eigentlich geplant? Es gibt eine Menge Anzeichen, die darauf schließen lassen, wo genau etwas im Code nicht stimmt. Lernen Sie, wie Sie solche Roststellen erkennen, wie Sie mit systematischem Debugging Fehler finden und durch Tests dauerhaft bändigen. Die Qual der Wahl - Nicht jede Programmiersprache eignet sich gleich gut für jede Aufgabe, Daten lassen sich auf unterschiedliche Weise vorhalten, Entwicklungsumgebungen und Versionskontrollsysteme gibt es viele - auf technischer Ebene gilt es jede Menge Entscheidungen zu treffen, deren Konsequenzen schwer zu überreißen sind. Universell gültige Empfehlungen kann niemand abgeben, aber mit den Erfahrungswerten und Entscheidungshilfen der Autoren fahren Sie für den Anfang nicht schlecht.

Kathrin Passig ist bekannt geworden als Sachbuchautorin (unter anderem 'Internet - Fluch oder Segen', zusammen mit Sascha Lobo oder 'Lexikon des Unwissens', zusammen mit Aleks Scholz). Sie blickt aber auch auf fünfzehn Jahre Erfahrung mit wirklich schlechter Programmierung zurück. Johannes Jander hat schon als Jugendlicher begeistert programmiert, musste aber erst auf einem Umweg über die Biologie zur Softwareentwicklung zurückfinden. Inzwischen arbeitet er hauptberuflich als Entwickler in einem großen Unternehmen.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Cover1
Inhalt5
Vorwort13
Warum dauert es so lange, bis der Mensch klüger wird?15
Spezialprobleme schlechter Programmierer16
Die sieben gebräuchlichsten Argumente schlechter Programmierer17
Wenige Jahre später18
Die nächsten 422 Seiten19
Teil 1: Hallo Wels Hallo Welt21
Kapitel 1: Bin ich hier richtig?23
Kapitel 2: Zwischen Hybris und Demut27
Schwächen als Stärken29
Richtiges muss nicht schwierig sein32
Kapitel 27: Wie geht es weiter?439
Was ist ein guter Programmierer?440
Zum Weiterlesen441
Danksagungen442
Teil 2: Programmieren als Verständigung35
Kapitel 3: Du bist wie die andern37
Kapitel 4: Konventionen39
Englisch oder nicht?40
Die Steinchen des Anstoßes43
Konventionen im Team46
Kapitel 5: Namensgebung49
Namenskonventionen49
Von Byzanz über Konstantinopel nach Istanbul51
Was Namen können sollten53
Der Stoff, aus dem die Namen sind60
Boolesche Variablen70
Objektorientierte Programmierung72
Datenbanken73
Falsche Freunde75
Wie es weitergeht78
Kapitel 6: Kommentare81
Mehr ist manchmal mehr83
Zur äußeren Form von Kommentaren84
Dokumentationskommentare86
Wann und was soll man kommentieren?87
Anzeichen, dass ein Kommentar eine gute Idee wäre89
Problematische Kommentare94
Kapitel 7: Code lesen97
Muss ich wirklich?97
Zuerst die Dokumentation lesen99
Sourcecode ausdrucken100
Zeichnen Sie schematisch auf, was einzelne Programmteile tun101
Von oben nach unten, von leicht nach schwer102
Lernen Sie Spurenlesen102
80/20 ist gut genug (meistens)103
Vergessen Sie die Daten nicht104
Der Beweis ist das Programm104
Gemeinsames Code-Lesen105
Kapitel 8: Hilfe suchen107
Der richtige Zeitpunkt108
An der richtigen Stelle fragen111
Die Anfrage richtig strukturieren111
An den Leser denken114
Nicht zu viel erwarten115
Keine unbewussten Fallen stellen116
Höflich bleiben – egal, was passiert116
Kapitel 9: Lizenz zum Helfen119
Der falsche Anlass119
Die eigennützige Motivation121
Die fehlende Einfühlung122
Zu viel auf einmal123
Antworten auf konkrete Fragen125
Wenn Sie selbst keine Antwort wissen126
Wenn Sie mit schlechteren Programmierern zusammenarbeiten127
Schlechten Code gefasst ertragen128
Kapitel 10: Überleben im Team131
Ich war's nicht!133
Der Bus-Faktor134
Zusammenarbeit mit Anwendern136
Zusammenarbeit mit Freiwilligen137
Aussprache von Begriffen137
Teil 3: Programmieren als Verständigung141
Kapitel 11: Unrecht haben für Anfänger143
Im Irrtum zu Hause144
Fehlerforschung im Alltag145
Der Hund hat die Datenbank gefressen!146
Der gepolsterte Helm147
Kapitel 12: Debugging I: Fehlersuche als Wissenschaft151
Systematische Fehlersuche153
Beobachtung155
Was das Beobachten erschwert156
Analyse und Hypothesenbildung158
Was das Bilden von Hypothesen erschwert158
Test der Hypothesen159
Was das Testen von Hypothesen erschwert160
Kapitel 13: Debugging II: Finde den Fehler163
Fehlermeldungen sind unsere Freunde163
Wer will da was von mir?164
Diagnosewerkzeuge und -strategien167
Wenn sonst nichts hilft180
Wenn auch das nicht hilft182
Die häufigsten Fehlerursachen schlechter Programmierer183
Kapitel 14: Schlechte Zeichen oder Braune M & Ms185
Zu große Dateien186
Sehr lange Funktionen187
Zu breite Funktionen187
Tief verschachtelte if/then-Bedingungen188
Mitten im Code auftauchende Zahlen190
Komplexe arithmetische Ausdrücke im Code190
Globale Variablen191
Reparaturcode192
Eigene Implementierung vorhandener Funktionen193
Sonderfälle194
Inkonsistente Schreibweisen194
Funktionen mit mehr als fünf Parametern194
Code-Duplikation195
Zweifelhafte Dateinamen196
Leselabyrinth196
Ratlose Kommentare196
Sehr viele Basisklassen oder Interfaces197
Sehr viele Methoden oder Member-Variablen197
Auskommentierte Codeblöcke und Funktionen198
Browservorschriften198
Verdächtige Tastaturgeräusche199
Kapitel 15: Refactoring201
Neu schreiben oder nicht?202
Wann sollte man refakturieren?203
Eins nach dem anderen206
Code auf mehrere Dateien verteilen211
Ein Codemodul in kleinere aufspalten211
Nebenwirkungen entfernen214
Code zusammenfassen215
Bedingungen verständlicher gestalten218
Die richtige Schleife für den richtigen Zweck221
Schleifen verständlicher gestalten221
Variablen kritisch betrachten223
Refactoring von Datenbanken224
Was man nebenbei erledigen kann226
Ist das jetzt wirklich besser?228
Wann man auf Refactoring besser verzichtet228
Ein Problem und seine Lösung231
Kapitel 16: Testing233
Warum testen?233
Testverfahren234
Datenvalidierungen240
Performancetests242
Richtig testen245
Kapitel 17: Warnhinweise247
GET und POST248
Zeichenkodierung249
Zeitangaben250
Kommazahlen als String, Integer oder Decimal speichern252
Variablen als Werte oder Referenzen übergeben253
Der schwierige Umgang mit dem Nichts256
Rekursion257
Usability258
Kapitel 18: Kompromisse261
Trügerische Tugenden263
Absolution: Wann Bad Practice okay ist267
Teil4: Wahl der Mittel273
Kapitel 19: Mach es nicht selbst275
Der Weg zur Lösung277
Bibliotheken278
Umgang mit Fremdcode281
Was man nicht selbst zu machen braucht282
Kapitel 20: Werkzeugkasten293
Editoren294
Welche Programmiersprache ist die richtige?295
REPL299
Diff und Patch302
Paketmanager304
Frameworks306
Entwicklungsumgebungen309
Kapitel 21: Versionskontrolle317
Alternativen319
Arbeiten mit einem VCS320
Konflikte auflösen322
Welches Versionskontrollsystem?323
Gute Ideen beim Arbeiten mit Versionskontrolle325
Schlechte Ideen beim Arbeiten mit Versionskontrolle326
Versionskontrollsysteme als Softwarebausteine327
Kapitel 22: Command and Conquer – vom Überleben auf der Kommandozeile329
Mehr Effizienz durch Automatisierung330
Unsere langbärtigen Vorfahren332
Windows333
Was jeder Programmierer wissen sollte333
Navigation338
Dateien338
Betrachten341
Suchen und Finden342
Ressourcen schonen345
Zusammenarbeit346
Zeitsteuerung346
Editieren auf dem Server348
Internet348
Muss ich mir das alles merken?350
Not the whole Shebang!350
Kapitel 23: Objektorientierte Programmierung353
Vorteile der objektorientierten Programmierung355
Die Prinzipien objektorientierter Programmierung357
Sinnvoller Einsatz von OOP364
Nachteile und Probleme367
Unterschiedliche Objektmodelle, je nach Sprache368
Objektorientierte Programmierung und Weltherrschaftspläne368
Kapitel 24: Aufbewahrung von Daten371
Dateien372
Versionskontrollsysteme377
Datenbanken377
Kapitel 25: Sicherheit385
Wichtige Konzepte386
Vor- und Nachteile der Offenheit388
Vom Umgang mit Passwörtern390
Authentifizierungsverfahren391
SQL Injection und XSS – die Gefahren in User-Content395
Weiße Listen sind besser als schwarze400
Alle Regler nach links401
Auch die Hintertür abschließen403
Penetration Testing404
Die Fehler der anderen405
Sicherheit ist ein Prozess406
Kapitel 26: Nützliche Konzepte409
Exceptions409
Error Handling412
State und Statelessness416
IDs, GUIDs, UUIDs417
Sprachfamilien419
Variablentypen421
Trennung von Inhalt und Präsentation424
Trennung von Entwicklungs- und Produktivserver425
Selektoren426
Namespaces428
Scope von Variablen430
Assertions431
Transaktionen und Rollbacks434
Hashes, Digests, Fingerprints435
CRUD und REST437
Index443

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

Berufsstart Bewerbung

Berufsstart Bewerbung

»Berufsstart Bewerbung« erscheint jährlich zum Wintersemester im November mit einer Auflage von 50.000 Exemplaren und ermöglicht Unternehmen sich bei Studenten und Absolventen mit einer ...

bank und markt

bank und markt

Zeitschrift für Banking - die führende Fachzeitschrift für den Markt und Wettbewerb der Finanzdienstleister, erscheint seit 1972 monatlich. Leitthemen Absatz und Akquise im Multichannel ...

BONSAI ART

BONSAI ART

Auflagenstärkste deutschsprachige Bonsai-Zeitschrift, basierend auf den renommiertesten Bonsai-Zeitschriften Japans mit vielen Beiträgen europäischer Gestalter. Wertvolle Informationen für ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

Euro am Sonntag

Euro am Sonntag

Deutschlands aktuelleste Finanz-Wochenzeitung Jede Woche neu bietet €uro am Sonntag Antworten auf die wichtigsten Fragen zu den Themen Geldanlage und Vermögensaufbau. Auch komplexe Sachverhalte ...