Äußerlichkeiten:
Das Buch “Weniger schlecht programmieren” von “Kathrin Passig” und “Johannes Jander”, in der ersten Auflage aus dem Jahre 2013, kommt in gewohnt guten Stil des O’Reilly Verlags daher.
Der Blick auf die Seitenzahl von über 450 Seiten und das 7 Seiten umfassende Inhaltsverzeichnis, das 27 Kapitel auflistet, lassen zusammen mit dem 8 seitige Index keinen Zweifel am Umfang des Werks.
Erster Kontakt mit den Medien:
Beim Lesen im Buch fällt sofort das spezielle Seitenlayout auf. Hier wurde getrickst und mit mehr als 80 Zeichen pro Zeile zu Lasten des inneren Seitenrandes und dünner Schriftart formatiert. Das erschwert leider das Blättern und das auch das flüssige Lesen im Buch.
Die ebenfalls vom Verlag erhältlichen e-book Version in den Formaten .mobi und .epub machen hingegen auf diversen E-Book Readern und am Bildschirm eine gute Figur. Die Textinhalte und die Programmlistings werden nun zu Fließtext. Die Schriftgröße festgelegt durch den Benutzer, beeinflusst indirekt auch die Zeilenlänge was ein flottes Lesen ermöglicht.
Wer ist die Zielgruppe dieses Buches ?
Diese Frage hat sich das Autorenteam aus Kathrin Passig (Journalistin und Sachbuchautorin) und Johannes Jander (langjähriger Softwareentwickler) auch gestellt und beginnen ganz pragmatisch das Buch gleich im ersten Teil mit einem Test zur Selbsteinschätzung für den Leser.
Sollte man den Zielgruppentest nicht bestehen, so wie es dem Autor dieser Rezension passiert ist, wird man das Buch beim Weiterlesen trotzdem zu schätzen wissen, beschreibt es doch auf sehr menschliche Art was einem beim Programmieren so alles passieren kann.
Die angepeilte Zielgruppe der “Programmier-Neulinge” und “Hobby-Programmierern” profitieren hingegen von dem großen Erfahrungsschatz der Autoren, die hier die Meisterleistung vollbringen, die verschiedenen Ansätze des konfliktfreien Programmierenes, aus den verschiedensten Blickwinkeln darzustellen. Neben den vielen sprach neutralen Hinweisen werden Code-Beispiele aus dem Web/Blog u. Datenbank Entwicklungsumfeld zur Anschauung gebracht.
Aufbau des Buches:
Der didaktische Aufbau der einzelnen Kapitel ist unterschiedlich. Es wechseln sich beschreibende, erklärende, vergleichende Kapitel ab. Andere Kapitel bieten klare Problem- und Lösungsvorschläge an.
Neben den verschiedenen Programmier- Techniken und -Paradigmen wird auch der jeweilige Umgang mit den verschiedenen Werkzeugen und Methoden zu Fehlersuche und vor allem der Fehlervermeidung hingewiesen.
Die Schreibweise ist mit vielen “Blog” Zitaten aufgelockert. Textboxen fassen Regelsätze oder Warnhinweise explizit zusammen. Die weiterführenden Links sollte man sich besser gleich rausschreiben.
In Beispielen machen die Autoren auch vor der Präsentation der eigenen Untaten nicht halt, so präsentieren Sie Ihre anfänglichen Lösungsversuche, um dann darauf hinzuweisen, das heute (nun verfügbare) allgemeine etablierte Bibliotheksfunktion zu nutzen seien.
An anderen Stellen an denen zwar ein Problem klar geschildert werden kann, es aber keine einheitliche Lösung dafür gibt, kommen neben den Autoren auch andere Entwickler persönlich zu Wort und präsentieren Ihre Sicht eines Lösungsansatzes.
Inhaltliches:
Das Buch ist nach dem Vorwort grob in vier Teile gegliedert.
Der erste Buchteil umfasst neben dem oben genannten Selbsttest, die Betrachtung der anfänglichen “Ursuppe” in der das “schlechte Programmieren” am bestens gedeiht und in der wir alle mal angefangen haben zu programmieren …
Diese Ursuppe wird dann gleich im zweiten Buchteil “Der Verständigung” in Ihre Bestandteile zerlegt. So werden die verschiedenen Partner in der Softwareentwicklung: der Mensch, das Team, die Konventionen sowie der Code und Codestile herausgestellt und deren konfliktfreier Umgang miteinander beschrieben. Sehr schön sind hier die Betrachtungen um das Thema “Hilfe suchen, Hilfe geben” gelungen.
Der anschließende dritte Teil lehrt den Leser im Umgang mit “Fehlern”. Beschrieben wird dabei die Unkenntnis, die ersten Anzeichen, dem suchen u. finden und die systematische Beseitigung von Fehlern. Hilfreich sind hier vor allen die Abwägungen für Anfänger, welche Code-Qualität in welchem Stadium der persönlichen Entwicklung als Programmierer noch tragbar ist. Als Beispiel sei hier genannt das ein Programm nicht gleich “Falsch” ist nur weil ein Codeblock doppelt vorkommt.
Der vierte Teil „Wahl der Mittel“ verschafft dem Leser einen Überblick über die verschiedenen Werkzeuge und Techniken die die Programmierung einfacher, sicherer und reproduzierbarer machen. Von der Benutzung von Programmbibliotheken, über verschiedene Editoren und Frameworks, den verschiedenen Programmiermethodiken bis zum Testen, Versionskontrolle, Datensicherheit und Backup handeln die zahlreichen Kapitel.
Der Leser wird am Ende dieser Kapitel dann mit nützlichen Konzepten und Empfehlungen zum Weiterlesen wieder in die reale Welt des Programmierers entlassen. Zurückkehren zu den Hilfestellungen dieses Buches kann er nun leicht über den guten Index, er kennt ja nun die Schlüsselwörter.
Fazit:
Diese Buch vermittelt dem Leser die komplette und schonungslose Sicht auf die Dinge beim Programmieren.
– “So wie sie nun mal sind.” –
Für die Zielgruppe der “Programmier-Neulinge” und “Hobby-Programmierer” ein sehr lesenswertes Buch. Hier werden einem nicht nur die Schlüsselwörter vermittelt sondern vor allem der Kontext in dem sich alles dreht.