Book description
"Ein Experte ist jemand, der auf einem Spezialgebiet alle denkbaren Fehler bereits gemacht hat." Niels Bohr, Nobelpreisträger für Physik. Kathrin Passig gilt als Meisterin des unorthodoxen Blickwinkels, und wenn sie sich zusammentut 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 gerade Programmier-Neulingen und Hobby-Entwicklern häufig das Leben schwer machen. Ein Lesevergnügen für alle, die ahnen, dass in ihnen ein besserer Programmierer steckt.
Table of contents
- Vorwort
- I. Hallo Wels Hallo Welt
-
II. Programmieren als Verständigung
- 3. Du bist wie die andern
- 4. Konventionen
- 5. Namensgebung
- 6. Kommentare
-
7. Code lesen
- Muss ich wirklich?
- Zuerst die Dokumentation lesen
- Sourcecode ausdrucken
- Zeichnen Sie schematisch auf, was einzelne Programmteile tun
- Von oben nach unten, von leicht nach schwer
- Lernen Sie Spurenlesen
- 80/20 ist gut genug (meistens)
- Vergessen Sie die Daten nicht
- Der Beweis ist das Programm
- Gemeinsames Code-Lesen
- 8. Hilfe suchen
- 9. Lizenz zum Helfen
- 10. Überleben im Team
-
III. Umgang mit Fehlern
- 11. Unrecht haben für Anfänger
- 12. Debugging I: Fehlersuche als Wissenschaft
-
13. Debugging II: Finde den Fehler
- Fehlermeldungen sind unsere Freunde
- Wer will da was von mir?
- Diagnosewerkzeuge und -strategien
- Wenn sonst nichts hilft
- Wenn auch das nicht hilft
- Die häufigsten Fehlerursachen schlechter Programmierer
-
14. Schlechte Zeichen oder Braune M&Ms
- Zu große Dateien
- Sehr lange Funktionen
- Zu breite Funktionen
- Tief verschachtelte if/then-Bedingungen
- Mitten im Code auftauchende Zahlen
- Komplexe arithmetische Ausdrücke im Code
- Globale Variablen
- Reparaturcode
- Eigene Implementierung vorhandener Funktionen
- Sonderfälle
- Inkonsistente Schreibweisen
- Funktionen mit mehr als fünf Parametern
- Code-Duplikation
- Zweifelhafte Dateinamen
- Leselabyrinth
- Ratlose Kommentare
- Sehr viele Basisklassen oder Interfaces
- Sehr viele Methoden oder Member-Variablen
- Auskommentierte Codeblöcke und Funktionen
- Browservorschriften
- Verdächtige Tastaturgeräusche
-
15. Refactoring
- Neu schreiben oder nicht?
- Wann sollte man refakturieren?
- Eins nach dem anderen
- Code auf mehrere Dateien verteilen
- Ein Codemodul in kleinere aufspalten
- Nebenwirkungen entfernen
- Code zusammenfassen
- Bedingungen verständlicher gestalten
- Die richtige Schleife für den richtigen Zweck
- Schleifen verständlicher gestalten
- Variablen kritisch betrachten
- Refactoring von Datenbanken
- Was man nebenbei erledigen kann
- Ist das jetzt wirklich besser?
- Wann man auf Refactoring besser verzichtet
- Ein Problem und seine Lösung
- 16. Testing
- 17. Warnhinweise
- 18. Kompromisse
-
IV. Wahl der Mittel
- 19. Mach es nicht selbst
- 20. Werkzeugkasten
- 21. Versionskontrolle
- 22. Command and Conquer – vom Überleben auf der Kommandozeile
- 23. Objektorientierte Programmierung
- 24. Aufbewahrung von Daten
-
25. Sicherheit
- Wichtige Konzepte
- Vor- und Nachteile der Offenheit
- Vom Umgang mit Passwörtern
- Authentifizierungsverfahren
- SQL Injection und XSS – die Gefahren in User-Content
- Weiße Listen sind besser als schwarze
- Alle Regler nach links
- Auch die Hintertür abschließen
- Penetration Testing
- Die Fehler der anderen
- Sicherheit ist ein Prozess
-
26. Nützliche Konzepte
- Exceptions
- Error Handling
- State und Statelessness
- IDs, GUIDs, UUIDs
- Sprachfamilien
- Variablentypen
- Trennung von Inhalt und Präsentation
- Trennung von Entwicklungs- und Produktivserver
- Selektoren
- Namespaces
- Scope von Variablen
- Assertions
- Transaktionen und Rollbacks
- Hashes, Digests, Fingerprints
- CRUD und REST
- 27. Wie geht es weiter?
- Stichwortverzeichnis
- Copyright
Product information
- Title: Weniger schlecht programmieren
- Author(s):
- Release date: December 2013
- Publisher(s): O'Reilly Verlag
- ISBN: 97833897215672
You might also like
book
Weniger schlecht über IT schreiben
Es gibt zwei Gruppen von Menschen: Die, die IT verstehen, und die, die sie trotzdem benutzen …
book
Prinzipien des Softwaredesigns
John Ousterhout, Erfinder von Tcl und seit 2008 Professor am Department of Computer Science der Stanford …
book
Handbuch moderner Softwarearchitektur
Mark Richards und Neal Ford — Praktiker mit Erfahrung aus erster Hand, die seit Jahren das …
book
Das DevOps-Handbuch
Mehr denn je ist das effektive Management der IT entscheidend für die Wettbewerbsfähigkeit von Organisationen. In …