The Blog

Antwort: „It is all design – really?“

In seinem Blogpost „It is all design – really?“ argumentiert Ralf Westphal, dass Quellcode etwas Konkretes ist, aber der eigentliche Entwurf in einer höheren Abstraktionsebene geschehen soll. Als Lösung wird Flow-Based-Entwicklung dargestellt. Ich stehe dem Post kritisch gegenüber: 1: Softwareentwürfe sind sehr unterschiedlich und auch wenn ich klare Präferenzen für Flow-Based habe, scheinen mir verschiedenste […]

Continue Reading →

Specs in natürlicher Sprache

BDDish dient der Definition ausführbarer, teamorientierter Spezifikationen. Das Framework ist StoryQ ähnlich. Es unterscheidet sich jedoch in der Flexibilität der Syntax. Insbesondere in den letzten Wochen sind einige Aliase hinzugekommen, die es erlauben Specs natürlicher zu beschreiben: Folgendes Bild soll zeigen, welche Syntax Kombinationen mit BDDish möglich sind: Auch wenn die Syntax flexibel ist, ist […]

Continue Reading →

Abgemahnt, Neuausrichtung

Gestern Abend wurde ich abgemahnt. Zum ersten Mal. Ich fühle mich, als hätte ich meine Webjungfräulichkeit verloren, reifer, erfahrener, gewachsen. Vielleicht habe ich aber auch nur zu wenig geschlafen. Inwieweit die angeprangerten Markenrechtsverstöße korrekt sind, kann ich nicht beurteilen. In der Folge werde ich jedoch die Präsenationseite der von Version-Up angebotenen B2B Lösung vom Netz […]

Continue Reading →

ATDD/BDD Teamorientiert vs. Entwicklerorientiert

Ich möchte die Idee vorstellen, BDD Frameworks in zwei Kategorien zu unterteilen: Entwicklerorientiert Teamorientiert Die Kategorisierung ist nicht wertend, entwicklerorientiert also nicht besser als teamorientiert oder umgekehrt. Teamorientiert: Diese Frameworks dienen primär der Kommunikation zwischen unterschiedlichen Projektteilnehmern, also zwischen Testern, Projektmanagern, Auftraggebern und Entwicklern. Tests beziehen sich auf Anforderungen, die von allen Projektteilnehmern verstanden werden. […]

Continue Reading →

Richtig oder Falsch?

Seit ich angefangen habe zu programmieren (2001), möchte ich eine Lernanwendung entwickeln. Mehrfach habe ich begonnen, doch ohne sinvolle Ergebnisse. Nun starte ich ein weiteres Mal. Der Arbeitstitel lautet: „Richtig oder falsch?“.  Mit der Anwendung hoffe ich mein Lernen u. das anderer zu vereinfachen. „Richtig oder falsch?“ soll soziales Lernen ermöglichen, was das genau heisst […]

Continue Reading →

TDD u. BDD können sich gleich sein

Folgendes Bild zeigt Testbeschreibungsmuster für TDD und BDD und wie diese sich aufeinander beziehen. Im Quelltext und mit Kommentaren sähe das so aus: Ohne Framework sind sich „ACT, ARRANGE, ASSERT“ und „GIVEN, WHEN, THEN“ gleich. Ob der gezeigte Test vor einem TDD Dogmatiker ein Unit-Test sein darf, sei dahin gestellt.  Wer aber im  BDD Verständniss […]

Continue Reading →

Test Pins

Schreibt man Tests, steht man immer wieder vor dem Problem, dass Felder und Funktionen ausschließlich für Tests öffentlich gemacht werden wollen. In folgendem Diagramm hat der Typ „AktualisiereEinträge“ nur eine öffentliche Funktion „Run()“, an die als Parameter ein Veränderungsmodell übergeben wird. Mehr Funktionalität wird vom Client nicht benötigt: Bei der Entwicklung kann sich das Bedürfnis […]

Continue Reading →

„Extract Interface“

“Programmiere auf eine Schnittstelle hin, nicht auf eine Implementierung”, heißt es im GOF Design-Pattern Buch auf Seite 18. Das Buch ist von 1995. Wird von einer Schnittstelle gesprochen, so sind die öffentlichen Methoden eines Objekts gemeint. Der Begriff Klasse wird grundsätzlich als konkretes Implementierungskonzept aufgefasst. Auf Modellierungsebene betrachtet man lediglich die Schnittstelle. Soweit ist der […]

Continue Reading →

The Ultimate PC 2(cheapish)

Es ist Zeit für einen neuen Rechner, mein alter, ein Q6600 mit 8GIG Ram und einer 300 GB Raptor Velocity reicht nicht mehr. Er murrt und zuckt bei dem Projekt an dem ich arbeiten darf, auch wenn dieses monströs ist, Verbesserung muss her! Inspiriert von Scott Hanselman, hoffe ich meine Build Zeite (auch) zu halbieren. […]

Continue Reading →

TDD und Planung

In welcher Beziehung steht TDD zu Planung? Beruhigender Weise in einer guten! Auch wenn Kent Beck von der „verrückten Idee spricht, zuerst einen Test zu schreiben“ – ohne Planung, auch wenn TDD als Design Methodik beschrieben wird, so ist TDD doch immer nur eine Spielart der Implementierung – also keine Spielart der Projektplanung, keine Technik […]

Continue Reading →

DI vs. IoC

Als Antwort auf  Inversion of Control vs. Dependency Injection von Thomas Mentzel (lesenswerter Blog!). IoC  verhält sich zu DI so: IoC: Ist das Konzept. DI: Ist ein Weg IoC zu erreichen. Wege um IoC umzusetzen: Fabrikmuster ServiceLocator Konstruktor Injektion (das ist DI!) Setter/Feld Injektion (Das ist DI!) Plugins mehr Ideen? Wege um DI umzusetzen: Konstruktor […]

Continue Reading →

Domain Model mit UML beschreiben

Möchte man Domain Modelle beschreiben, bieten sich Klassen- und Objektdiagramme in UML Notation an. Wichtig dabei ist, dass die Diagramme: nur wesentliche Aspekte abbilden als Abstraktion zur Implementation, nicht als eins zu eins Abbildung verwendet werden (!) immer nur einen relevanten Ausschnitt zeigen. Als Faustregel sollte man probieren Diagramme auf 7 Elemente zu beschränken,  ohne […]

Continue Reading →

HTML 5 im www – wann!?

Ab wann wird HTML 5 für öffentliche Seiten relevant? Nicht so schnell wie es zu wünschen wäre. HTML 5 glänzt mit spannenden Features: eingebettete Videos ohne Plugin, Offline Apps, Effekten. Doch die aktuelle Spezifikation ist noch nicht einmal verabschiedet und bedenkt man das die Geschwindigkeit, mit der sich neue Webstandards einbürgern eher träge ist, wird […]

Continue Reading →

GIT kann glücklich machen, Zeit muß eingeplant werden.

Ich empfinde GIT als sehr lernintensiv. Das Konzept das es 3 Arten von Branches gibt, Remote Branches Local Branches Local Tracked Branches gibt , ist mir erst gestern aufgegangen und mir ist vollkommen unklar, wie ich die letzten Monate mit GIT arbeiten konnte, ohne dieses Konzept zu verstehen! Obwohl GIT nach Sourcesafe, SVN und einer […]

Continue Reading →

IoC Frameworks für jedes Projekt?

Wie groß muss ein Projekt sein, damit ein IoC Framework (Autofac, Castle, Unity,  StructureMap, usw.) lohnt? Sind es 40 Klassen oder 100? Ist die Anzahl der Services das relevante Kriterium oder lohnt sich ein IoC Framework vielleicht sogar immer? Wo sind die Ausnahmen?Aus meiner Sicht sind all diese Fragen ganz einfach zu beantworten: IoC Frameworks […]

Continue Reading →