readme 20151212

Nicht wirklich eine massive Woche für eine Linksammlung. Vielleicht sollte ich es eher in „This week I learned“ umbenennen…

readme 20151212

  • John O'Nolan: „Thoughts on Calypso, WordPress and JavaScript“ – Der Gründer der Blogsoftware Ghost und Contributor von Ember analysiert den Move von Wordpress, mit der Admin-Oberfläche „Calypso“ auf einen neuen Technologiestack zu setzen (NodeJS & React). Die Kritik an Wordpress liest sich teilweise wie ein Clickbaiting-Artikel, der sich die Geschichte zurechtbiegt (2004 soll es schwierig gewesen sein, bei einem Shared Hoster Wordpress zu installieren?). Zwei interessante Punkte zur weiteren Diskussion sind aber hängen geblieben: ist Wordpress in einer Identitätskrise, gefangen zwischen CMS-Anspruch und Blog-Image? Und wie sehr helfen Opinionated Frameworks wie Ember bei großen (Open Source-)Projekten, weil sie einen strengeren Rahmen vorgeben, als der von Wordpress gewählte Technologie-Stack?
  • Dave Rupert: „The Invisible Hand of the Barista“ – Eine charmante Beobachtung, was eine menschliche Expertise einer Maschine oder einem Menschen der starr ein Rezept befolgt, voraus hat.
  • Philip Walton: „Why I'm Excited About Native CSS Variables“ – Als ich den Artikel in diversen Linklisten rein bekam, wollte ich ihn gar nicht lesen, weil ich zu wissen glaubte, was drin steht und ich bis dato kein großer Freund von CSS-Variablen war. So kann man sich täuschen. Walton beschreibt genau die Use-Cases in denen CSS-Variablen einen Mehrwert gegenüber ihren statischen CSS-Präprozessor-Kollegen haben. Ich fühle mich erleuchtet.

Ansonsten ist meine erste Woche mit den auf Github abgelegten „Personal Goals“ fast abgelaufen – und ich bin extrem zufrieden mit dem Fokus und den Drive den es mir in dieser Woche gab. Ich bin auch sehr zufrieden, dass der Umfang ziemlich genau passte und ich dennoch zeitlich flexibel auf zwei Kundenjobs reagieren konnte, die unangekündigt reinschneiten.

Es fielen auch fachliche Learnings für mich ab. Hammock Driven Development („Hammock“ = Hängematte) und Domain Driven Design sind zwei Entwicklungsmethodologien die ich mir einen Abends bzw. Vormittag lang angeschaut habe.

Beide Methodologien eint, dass sie sich von Iterieren und coding first abgrenzen und mehr Wert auf gedankliche Vorarbeit legen, bevor das erste Mal der Codeeditor angefasst wird.

Hammock Driven Development fordert auf, die komplette Problemlösung alleine durch Nachdenken zu entwickeln. Langes Nachdenken. Fokussiertes Nachdenken. Aber auch: Sacken lassen, eine Nacht drüber schlafen. Ein Problem aus mehreren Perspektiven betrachten und mehrere Lösungswege zu durchdenken.

Domain Driven Design versucht größere Applikationen in fachliche Bereiche zu kapseln. Das Know-How der Personen soll in diese Bereich gebündelt werden und in einem ersten Schritt ein Glossar bzw. Vokabular für die Aufgaben des Bereiches entwickelt werden. Darin wird z.B. festgelegt, dass der Bereich einen „Kunden“, eine „Bestellung“ und ein „Produkt“ kennt. Diese Begriffe werden vom Team fest definiert („Ein Kunde ist jemand, der bereits mindestens ein Produkt bestellt hat oder eine laufende Bestellung hat“).

Aus diesen Definitionen lassen sich dann leicht Objekte/Klassen, Methoden und Attribute ableiten und zueinander in Beziehung setzen. So entstehen auf dem Papier Vorbereitungen für ein Datenbankschema und Klassenhierarchien.