Zum Inhalt

Blog

Buch-Rezension zu "Smalltalk Best Practice Patterns"

Smalltalk Best Practice Patterns

"Smalltalk Best Practice Patterns" von Kent Beck erschien bereits 1996, doch stosse ich in letzter Zeit immer wieder auf dieses Buch. Überall wird erzählt wie wegweisend dieses Buch sei und wie viel man damit über objektorientierte Programmierung lernen könne. Die Besprechung bei Ruby Rogues in den Folgen 23 und 24 überzeugte mich schliesslich dieses Buch zu lesen - obwohl ich nie in Smalltalk programmiert habe.

Um es vorweg zu nehmen: Es gibt nur wenige Teile in diesem Buch die einzig für Smalltalk eine Bedeutung haben. Der grösste Teil ist so geschrieben das dieser auch für Sprachen wie C#, Ruby oder Java nützlich ist.

Erste Schritte mit AngularJS

MVC-Frameworks für JavaScript gibt es mittlerweile in Hülle und Fülle. Diese unterscheiden sich nicht nur im Funktionsumfang, sondern auch in der Handhabung und der Dokumentation. Dies macht es nicht gerade einfach ein zum eigenen Projekt passendes Framework auszuwählen.

Da ich nicht der erste bin der vor dieser Entscheidung steht konnte ich glücklicherweise auf die Arbeit von TodoMVC zurückgreifen. Zahlreiche Freiwillige haben sich die Mühe gemacht die immer gleiche Todo-Anwendung in den einzelnen Frameworks zu implementieren. So sind mittlerweile über 50 verschiedene Frameworks vertreten und lassen sich recht einfach vergleichen.

Nachdem ich mehrmals gehört hatte wie toll AngularJS sei und mir auch das Beispiel dazu gefallen hat habe ich mir dieses Framework genauer angeschaut. AngularJS wird seit 2009 von Google entwickelt und bietet neben einer Trennung von DOM und Applikationslogik auch einen sehr einfachen Einstieg.

Buch-Rezension zu "Agile Web Development with Rails 4"

Agile Web Development with Rails 4

Die Veröffentlichung von Rails 4 dürfte für etliche Entwickler ein Anlass sein sich einmal mit diesem Webframework zu beschäftigen. Aber wo soll man anfangen? Web-Tutorials wie Railstutorial.org sind zwar ausführlich, aber noch nicht auf Version 4 aktualisiert und die offizielle Dokumentation ist nicht unbedingt für Einsteiger konzipiert.

"Agile Web Development with Rails 4" von Sam Ruby füllt diese Lücke. Die neuste Version dieses Buches befindet sich noch im Beta-Programm, ist aber als E-Book (PDF, epub und mobi) bereits erhältlich. Durch den gelungenen Aufbau ist dieses Buch nicht nur für Einsteiger sondern auch für Rails 3.x Entwickler interessant.

Präsentation "Refactoring: Mythen und Fakten" bei der @dnugbe

Im Rahmen des 5x20min Abends bei der .Net User Group Bern durfte ich am 25. Juni 2013 meinen Vortrag über Refactoring halten. Neben den häufigsten Mythen versuchte ich zu zeigen was Refactoring wirklich ist und wann diese Praktik zu einem reinen Etikettenschwindel verkommt. Um den Zuhörern auch etwas Hilfreiches mitzugeben zeigte ich anhand eines Praxisbeispiels wie man mittels Characterization Tests den aktuellen Funktionsumfang greifbar machen kann.

Wer sich selber ein Bild machen will findet die Unterlagen auf Speakerdeck:

Präsentation Refactoring: Mythen & Fakten

Buch-Rezension zu "Working Effectively with Legacy Code"

Legacy Code

Viele Bücher zeigen wie man mittels TDD sauberen Code schreiben kann. Michael Feathers geht in "Working Effectively with Legacy Code" einen anderen Weg. Er zeigt wie man aus Legacy Code Schritt für Schritt und mit viel Arbeit eine saubere Codebasis schaffen kann.

Dieser Weg ist alles andere als leicht, startet dafür aber dort wo wohl die meisten Software-Projekte sind: Bei einer grossen Menge Code mit nur wenigen (oder gar keinen) Tests und der dennoch geschäftskritische Funktionen erfüllt. Wie erhält man dessen Funktionalität und schafft es gleichzeitig flexibel auf neue Anforderungen zu reagieren?

Unterlagen zu "Ruby und Rails für .Net Entwickler" (Luzern)

Die .Net User Group Zentralschweiz gab mir Anfangs Woche die Gelegenheit meinen Ruby und Rails Vortrag für .Net Entwickler zu präsentieren. Gut 6 Monate nach der ersten Präsentation bei der .Net User Group Bern konnte ich so nochmals rund 30 .Net Entwicklern zeigen das es neben C# noch andere interessante Programmiersprachen gibt.

In den letzten Monaten gab es bei Ruby und Rails einige entscheidende Neuerungen. Ruby ist zum 20. Geburtstag in der Version 2 erschienen und Rails 4 liegt nun als Beta vor. Für mich Grund genug neben dem Vortrag auch die Beispiele anzupassen.

Buch-Rezension zu "Practical Object-Oriented Design in Ruby"

POODR

Ein gutes Buch über objektorientiertes Design (OOD) zu finden ist nicht einfach. Obwohl sich viele Bücher diesem Thema widmen fehlt doch immer wieder etwas: Entweder ist das Buch so theoretisch das es keinen Bezug zur Praxis hat oder die notwendige Theorie fehlt.

"Practical Object-Oriented Design in Ruby" (kurz POODR) von Sandi Metz findet den Mittelweg zwischen Theorie und Praxis. In einer direkten Sprache wird man Schritt für Schritt an die Thematik OOD herangeführt. Auch wenn die Beispiele in Ruby sind so ist dieses Buch auch für andere Sprachen sehr zu empfehlen – das benötigte Wissen über Ruby ist minimal und schnell erklärt.

EF 5: Modelle übersichtlicher gestalten

Ob man nun "Model-First" oder "DB-First" folgt, bei Entity Framework steht man schnell einmal vor einem Problem: Das Datenmodell verliert an Übersichtlichkeit.

Die oft verwendeten Beispiele mit wenigen Tabellen und Verbindungen sehen im Designer von Visual Studio prima aus. Hat man aber ein komplexeres Modell steht man bald einmal vor so einer Ansicht:

Unübersichtliches Modell

Auch wenn man sehr viel Zeit aufwendet um die Entitäten hin und her zu ziehen, so bleibt das Modell doch unübersichtlich. Verwendet man Entity Framework 5 und Visual Studio 2012 gibt es aber 2 Hilfsmittel die einem bei der Organisation helfen können.

Die Testpyramide

Seit einigen Monaten stosse ich immer wieder auf das Konzept der Testpyramide. Ich finde dieses Bild sehr passen, da es die wesentlichen Aspekte auf den Punkt bringt. Um ein System wirklich zu testen gilt es mehrere Ebenen anzuschauen. Die Testpyramide zeigt diese auf und vermittelt auf eine leicht verständliche Weise wie sich die Anzahl der Testfälle staffeln soll:

Die Testpyramide