Clean Code Developer

Das Buch “Clean Code” kennen vielleicht einige Programmierer schon. Seit längerem gibt es auch die passende Initiative dazu.

Die Clean Code Developer setzen sich mit dem Schreiben von gutem Code auseinander. Reflektieren ihr tägliches Handeln und stellen Liebgewordenes gern mal infrage. Persönlich habe ich Martins Buch schon vor einigen Jahren gelesen und bin 2009 auf die Initiative gestoßen und das Infragestellen ist mir auch nicht fremd. Hinzu kommt, dass jeder Scrum Master auch ein Wanderprediger ist (Hallo Falk!) und als solcher natürlich sein Evangelium verbreiten möchte. Also? In unserer Firma moderiere ich derzeit einen sechsteiligen Workshop zu diesem Thema. Die ersten Folien findet man in der Dropbox

Clean Code Developer – Roter Grad

Scrum und Continuous Integration

Nachdem mir ein Bekannter (Hallo Alex!) mitgeteilt hat, dass mein Blog schon auf Platz 5 der Suchergebnisse von “Scrum Continuous Integration” steht, möchte die dürftigen Infos die man bisher finden konnte noch etwas erweitern.

Scrum hat als Grundprinzip, dass man ständig lieferfähig ist. In der Regel liefert man die Ergebnisse des letzten Sprints aus. Ggf. muss oder möchte man noch einen gesonderten Test-Sprint machen in dem superkomplizierte nicht-automatisierbare Integrationstests durchgeführt werden. Letzteres ist insbesondere bei der SW-Entwicklung für Geräte interessant.
Bei mir/uns haben sich Jenkins und buildbot als CI Server gut gemacht. Jenkins gefällt mir besser, da er leichter zu erweitern ist und es schon ganz viele Plugins gibt (für git, Sonar, ClearCase uvm.). Nach jedem git push läuft Jenkins los und macht einen clean build. Den Installer kann man sich (wenn man weitere Tests durchführen möchte) vom Server holen und loslegen. Nach dem Build werden die Metriken (Unittest, Code Coverage, PDM, FindBugs) in Sonar eingepflegt. Dort erkennt man dann auch Schwachpunkte und hat vor allem einen Verlauf über die Zeit.

Scrum benötigt IMHO CI, da sonst weder schnell noch effizient ein Liefergegenstand vorliegt und zeitnahes Feedback fehlt.

Thunderbird 8 und Enigmail

Nach einem Update auf Thunderbird 8 funktioniert Enigmail nicht mehr. Leider muss man sich momentan die aktuelle Version 1.3.3 von Enigmail selbst herunterladen (speichern) und dann händisch in Thunderbird installieren. (Extras --> AddOns)

Siehe: Enigmail 1.3.3 Windows bzw Allgemein Download von Enigmail 1.3.3

Ältere Artikel zu diesem Thema:

Git und Subversion (git svn)

Einer der Vorteile von git ist, dass man ziemlich einfach gegen ein Subversion Repository arbeiten kann. Nach einem git svn clone hat man das Ganze Subversion Repo auf der eigenen Festplatte. In der Regel reichen einem jedoch die letzten 100 Commits und man möchte die Struktur des Subversion Repos beibehalten. Hierfür erweitert man den o.g. Befehl um die Optionen -r<Startrevision>:HEAD um den Ausschnitt aus dem SVN Repo zu verkleinern. Und -s bzw. --stdlayout wählt man, wenn man für trunk, tags und branches eben diese Verzeichnisse im Wurzelverzeichnis des Subversion Repositories hat.
Daraus ergibt sich dann

git svn clone -r1000:HEAD -s https://svn.codehaus.org/foobar zielverzeichnis

wenn man die Revisionen ab 1000 bis zum aktuellen Stand von https://svn.codehaus.org/foobar clonen möchte. Continue reading