Inhaltsverzeichnis
16. Formatierung
- Themen
- Warum ist Code-Formatierung wichtig?
- Vertikale Formatierung
- Horizontale Formatierung
- Konsistenz: Konventionen und automatische Codeformatierung
- Folien
- Glossar
Zentrale Aspekte
- Codeformatierung ist zu wichtig, um sie zu ignorieren –
oder sie dogmatisch zu behandeln. - Formatierung offenbart die Sorgfalt und Professionalität,
die ein Programmierer in seine Arbeit investiert hat. - Formatierung erhöht die Les- und Wartbarkeit von Code.
Die investierte Disziplin überlebt den eigentlichen Inhalt. - Zusammenhänge und getrennte Konzepte sollten sich in
horizontaler und vertikaler Formatierung widerspiegeln. - Konsistenz ist wichtiger als der konkrete Inhalt.
Regeln sollten vom ganzen Team akzeptiert werden.
Fragen zur Vertiefung und Wiederholung
Diese Fragen dienen der persönlichen Beschäftigung mit der Thematik, werden aber nicht separat in der Vorlesung besprochen.
- Warum ist Codeformatierung so wichtig?
- Was ist entscheidend bei Konventionen für die Codeformatierung? Wie lässt sich die Umsetzung am Ehesten erreichen?
Weiterführende Literatur
Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.
Die Ausführungen folgen in weiten Teilen jenen in [Martin, 2008Martin, Robert C. (2008): Clean Code. A Handbook of Agile Software Craftmanship, Prentice Hall, Upper Saddle River, New Jersey], Kapitel 5. Weitere hilfreiche Erläuterungen zur Formatierung von Quellcode finden sich in Kapitel 31 in [McConnell, 2004McConnell, Steve (2004): Code Complete. A practical handbook of software construction, Microsoft Press, Redmond, Washington] und, wenn auch eher versteckt, in Kapitel 1 in [Kernighan, 1999Kernighan, Brian W.; Pike, Rob (1999): The Practice of Programming, Addison Wesley, Boston].
Eine knappe Einführung in Idiome in Programmiersprachen in Abgrenzung zu Entwurfsmustern (design patterns, vgl. Lektion 17) findet sich in Kapitel 4 in [Buschmann, 1996Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael (1996): Pattern-Oriented Software Architecture. Volume 1: A System of Patterns, John Wiley & Sons, Chichester].
Ein unabhängig von der eingesetzten Programmiersprache durchaus lesenswerter Gestaltungsleitfaden (style guide) für Quellcode ist das Python Enhancement Proposal 8 (PEP 8), grafisch aufbereitet von Kenneth Reitz.
- Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael (1996): Pattern-Oriented Software Architecture. Volume 1: A System of Patterns, John Wiley & Sons, Chichester
- Kernighan, Brian W.; Pike, Rob (1999): The Practice of Programming, Addison Wesley, Boston
- Martin, Robert C. (2008): Clean Code. A Handbook of Agile Software Craftmanship, Prentice Hall, Upper Saddle River, New Jersey
- McConnell, Steve (2004): Code Complete. A practical handbook of software construction, Microsoft Press, Redmond, Washington