« Code Esthetics Pt1 – Code Design | Die Geschichte von Sven oder wie ein Teil von Pentabarf zu uns kam »
Während der knapp über 2 Stunden habe ich mir gemeinsam mit den teilnehmenden Professoren und Studenten grundsätzliche Themen zur professionellen Gestaltung von Code angeschaut. Die mitgebrachten Beispiele wurden dabei beurteilt und als Fazit zu der folgenden Übersicht mit Empfehlungen für eine gutes Code Design zusammengefasst.
» maximale Zeilenbreite: 80
» maximale Anzahl Zeilen: zwischen 120 und 2000
» CodeInhalte: saubere Trennung nach MVC bzw. Pattern, nur gültigen Code
» Kommentare: Feste Syntax, Block Komments, 1-6x Umfang des kommentierten Quelltextes
» Struktur: optisch durch Kommentare kennzeichnen
» Dateikopf: Inhalt, Datum, Ersteller/Brarbeiter
» Funktionskopf: Inhalt, Parameter inkl. Beschreibung, Documentor Standards nutzen, Rückgabewerte dokumentieren
» Intendation: maximal 5 Schritte
» Klammern: korrekt intendiert, keine eigene Zeile vs. eigene Zeile
» Leerzeilen: kennzeichnen zusammengehörige Strukturen, einheitliche Verwendung!
» Methodenlänge: <40 bis < 80 Zeilen
» Naming Conventions inkl. Kommentare: einheitlich, nach Projektstandard
» Charset: UTF8
» Tabs/Spaces: Spaces bevorzugt, aber immer einheitlich
» Definition, Deklaration: getrennt, einzeilig wenn identisch
» Code Strukturen (optisch erkennbare Muster): zusammenfassen, wenn identisch oder gleichartig formatieren
Spannende Diskussionen gab es bei zwei Punkten: zum einen stand die Hypothese im Raum, dass wenn immer man innerhalb einer Funktion eine Leerzeile einfügen will, man lieber direkt eine neue Funktion für den folgenden Code schreiben sollte. Darüber hinaus kam das alte Thema Spaces vs. Tabs auf.
Im Zuge des Workshops habe ich ein paar Fragen an die Anwesenden gestellt und war überrascht, dass über 80% der Anwesenden schon umfangreiche Programmiererfahrungen, z.T. auch in grösseren Teams, hatten und dass ca. 50% aller Studenten in ihrem Arbeitsumfeld direkte Coding Guidelines definiert haben. Mein Eindruck nach den verschiedensten Diskussionen mit den Studenten hinterlässt dabei den Eindruck, dass die Mehrzahl der Anwesenden in der Summe einen überdurchschnittlich guten Code schreiben dürfte. Was entweder an der Auswahl der Teilnehmenden oder der Ausbildung der HTW Dresden liegt. Hier darf man spekulieren
.
Weiterführende Links zum Thema Code Design liefer ich morgen in einem extra Artikel kurz nach.
Insgesamt war der Workshop optimierungsfähig. Die einzelnen Gruppen mit Vorschlägen zum Thema Code Design hatten zu viel Redezeit, so dass sich sicherleich diverse Anwesende schnell langweilten. Andererseite war die Beteiligung deutlich über meinen Erwartungen, so dass die Gruppengrösse tiefere Diskussionen (ich wäre gern auf bestimmte Details näher eingegangen) verhindert. Fazit: Es bringt nichts, wenn die Hälfte der Leute sich nach 1,5 Stunden langweilt und man dennoch zu flach auf der Oberfläche der Themen kratzt. Hier werde ich mir also zur nächsten Veranstaltung etwas einfallen lassen.
Tags: Code Design, Code Esthetics, Code Formatting, Code Styling, Coding, Developer, Intuition, Optimierung IT Projekt, Rapid Development Frameworks, Software Development
This entry was posted on Monday, December 7th, 2009 at 4:59 pm and is filed under Agile Software Development, Coders best practice, Rapid Development Frameworks, Vorträge. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.