Baby Steps & Object Calisthenics - Verbessere dein OO-Design!
1.Taking Baby Steps:
Idee
Hast du dich jemals gefragt, wieviel sinnvollen Code du in 30 Minuten schreiben kannst? Und in 2 Minuten? Während diesem Teil des Workshops wirst du lernen, dich auf das absolut Wesentliche zu konzentrieren, indem du kleine Schritte in Richtung inkrementeller, iterativer Softwareentwicklung
Motivation
Es gibt viele gute Gründe beim Entwickeln von Software in kleinen Iterationen zu arbeiten. So schafft man es etwa, seinen Code wesentlich häufiger zu committen und damit in die restliche Codebasis zu integrieren. Häufig merkt man erst beim Entwickeln, dass man sich in eine falsche Richtung bewegt. Hat man erst vor kurzem eingecheckt, ist das kein Problem. Man kann ohne großen Verlust einfach auf den letzten funktionierenden Stand zurückrollen. Dieser Workshop treibt die Idee von kurzen Iterationen auf die Spitze. Das Prinzip lässt sich auf den Alltag übertragen, auch wenn man sich dann wohl etwas mehr als zwei Minuten pro Iteration gönnt.
Ziele
Finde heraus, warum kleine Schritte nützlich sind und wann man sie einsetzt. Lerne, wie man während des Schreibens von Code und während eines Refactorings kleine Schritte macht. Erfahre, wie du dich selbst dazu zwingen kannst, kleine, inkrementelle Schritte zu machen.
Beschreibung
Nachdem wir ein einfaches Problem bearbeitet haben, werden wir gemeinsam darüber reden, was dabei passiert ist, als wir Code in kleinen inkrementellen Schritten geschrieben haben. Wir werden mit Hilfe eines lokalen Versionskontrollsystems immer dann committen, wenn wir mit dem Schreiben und Implementieren eines Tests oder mit einem Refactoring innerhalb von 2 Minuten fertig geworden sind. Falls wir nicht innerhalb von 2 Minuten fertig geworden sind, rollen wir die Änderungen auf den vorherigen Stand zurück und versuchen es mit einem kleineren Schritt, da der zuvor versuchte Schritt offenbar zu groß war.
Es wird mehrere Durchläufe geben, in denen die Teilnehmer in Paaren arbeiten werden. Nach jedem Durchlauf nehmen wir uns ein paar Minuten Zeit um darüber zu reflektieren, wie wir unsere Prozesse verbessern.
2. Object Calistenics
Ziele
In diesem Teil des Workshops hast du die Möglichkeit deinen Programmierstil bezüglich Objektorientierung zu verbessern. Du wirst die 9 Regeln der Object Calistenics (Objekt-Gymnastik) von Jeff Bay kennenlernen und anschließend zur Vertiefung unter Einhaltung dieser strengen Regeln programmieren.
Beschreibung
Jeff Bay hat in the ThoughtWorks Anthology folgende Regeln veröffentlicht:- Use only one level of indentation per method
- Don’t use the else keyword
- Wrap all primitives and strings
- Use only one dot per line
- Don’t abbreviate
- Keep all entities small
- Don’t use any classes with more than two instance variables
- Use first-class collections
- Don’t use any getters/setters/properties
Anfangs wird sich das Einhalten dieser Regeln für dich höchstwahrscheinlich sehr ungewohnt und dogmatisch anfühlen. Mit etwas Übung erhälst du jedoch eine Auffrischung auf was du bei der objektorientierten Programmierung achten solltest. Du trainierst deine "Muskeln" für das alltägliche saubere Code-Design.
Nach einer kurzen Einführung legst du in der objektorientierten Sprache deiner Wahl im Pair los. Dabei ist es auch möglich bei weniger Vorerfahrung pro Iteration nur einen Teil der Regeln oder auch nur eine einzelne Regel anzuwenden. Wir werden mehrere Iterationen durchführen. Natürlich gibt es auch ausreichend Zeit für Diskussionen und gegenseitiges Feedback.