Das Single Responsibility Principle

Definition

Das Single Responsibility Principle (Eine-Verantwortlichkeit-Prinzip, SRP) ist eines der SOLID-Prinzipien. Es wurde von Robert C. Martin im gleichnamigen Teilartikel in seiner Publikation Principles of Object Oriented Design eingeführt und es lautet:

„There should never be more than one reason for a class to change.“
„Es sollte nie mehr als einen Grund geben, eine Klasse zu ändern.“

Weiterlesen

Besser Programmieren mit OO-Prinzipien und Entwurfsmustern

I will not write any more bad code

Der Entwicklungsprozess einer Software lässt sich sehr gut mit einem Hausbau vergleichen. In der Anfangsphase sitzt man über den Zeichnungen und Bauplänen, nachdem alle Genehmigungen eingeholt wurden, wird das Haus Stein für Stein hochgezogen und ausgebaut, dann letztendlich kommt es zur Schlüsselübergabe und die neuen Besitzer können einziehen. Doch nach einiger Zeit drückt das Grundwasser hoch, der Keller wird feucht, an den Wänden zeigen sich die ersten Risse. Klare Hinweise dafür, dass die Handwerker nicht mit der nötigen Sorgfalt gearbeitet haben. Auf die Besitzer kommen Ärger und weitere Kosten zu, die sie sich eigentlich gerne erspart hätten.

In der Softwareentwicklung ist es ähnlich. Es passiert nicht selten, dass nach der Fertigstellung, und zuweilen auch während der Entwicklungsphase eines Projektes, Mängel und Probleme sichtbar werden. Der bestehende Code muss vielleicht geändert werden um eine neue Funktionalität zu implementieren und führt u.U. zu un­vor­her­ge­se­hen Fehlern. Die Folge: die Produktions- und/oder Wartungskosten steigen, das Projekt verzögert sich und die Entwickler geraten in Stress. Diese Symptomatik ist wiederkehrend.

Weiterlesen

newsight reloaded

Im Jahr 2005 habe ich die erste Version meines Entwicklerblogs gestartet. Der Name newsight bedeutet ‚Neue Sicht‘. ‚Neue Sicht der Dinge‘ war damals mein persönliches Motto, und bezog sich auf die Art und Weise wie man richtig programmiert. State of the Art sozusagen. Damit war das Interesse an Clean Code, objektorientierten Design und Entwurfsmustern geboren, bevor ich diese Begriffe überhaupt richtig kannte.

Seit dem habe ich mich enorm weiter entwickelt und viel gelernt. Neue Programmiersprachen, Konzepte und Techniken, Dinge die mir geholfen haben ein besserer Softwareentwickler zu werden. Das wichtigste war jedoch, das Gelernte auch konsequent in die Praxis umzusetzen. Das hat mir bei der täglichen Arbeit viele Vorteile gebracht. Aber die Entwicklung geht weiter, und ich freue mich über jede Gelegenheit neues zu lernen.

Nach dem das Blog länger stillgelegt war, wurde es an der Zeit wieder einen neuen Anfang zu wagen. Wie beim ersten Mal, ist die Motivation immer noch Wissen zu teilen, von anderen zu lernen und sich auszutauschen. Deshalb schien mir der Zeitpunkt zum Anfang des neuen Jahres 2015 passend, fast 10 Jahre nach dem ersten Start, das Blog wieder zu beleben und mit neuem Leben zu füllen.

Also, here we go!