Information Hiding und Datenkapselung

Kürzlich habe ich auf einer Folie mit dem Titel “Information Hiding” gelesen, dass um diese zu erreichen der Zugriffsmodifizierer private eines der wichtigsten Hilfsmittel sei. Für mich ein weiterer Beleg, dass die Mächtigkeit und der Gewinn der beiden Konzepte ‘Information Hiding’ und ‘Encapsulation’ häufig zu wenig verstanden und differenziert wird. Viele Entwickler verwenden die Begriffe sogar synonym. Tatsächlich sind sie eng miteinander verwandt, lassen sich aber dennoch wunderbar differenzieren. Und letzteres nicht etwa aus Spitzfindigkeit, sondern mit ganz konkretem Nutzen für das konkrete Design. Wer also der Meinung ist, indem er/sie ein Attribut einer Klasse mit private markiere hätte er/sie dem Information Hiding (und der Encapsulation) genüge getan, sollte unbedingt weiterlesen!

Weiterlesen

equals- und hashCode-Contract

Wer bei diesem Titel mit einem grossen Gähnen denkt “Ach, nicht schon wieder diese alten Kamellen” verpasst etwas! Ich gebe es ja offen zu: Obschon ich zu den grossen Verfechtern von Test-First, TDD und generell Unit-Testing gehöre – spätestens wenn es bei Java um das Testen von equals() und hashCode() ging, habe auch ich häufig die Flügel gestreckt. Nun gibt es aber eine beeindruckende Wunderwaffe, mit der auch das gelingt! Weiterlesen

Patterns, Anti-Patterns und Refactoring

Alles hat zwei Seiten: Heute kennen wir viele Regeln und Prinzipien (oder wie auch immer man es bezeichnen mag) die uns helfen bessere Software zu entwickeln. Wir kennen Patterns und die dazu passenden Anti-Patterns. Wir kennen eine Menge von Refactorings. Wir kennen Clean Code Heuristiken und Smells. Schon oft hätte ich mir ein einfaches Nachschlagewerk oder eine Website gewünscht, die das alles zusammenfasst.

Weiterlesen

Vier Bücher für die einsame Insel

Die folgende Liste ist meine persönliche Reduktion auf das absolute Minimum. Und bis vor kurzem umfasste sie nur drei Bücher. Nun sind es vier geworden. Vier Bücher – natürlich aus dem Bereich Informatik – welche ich auch auf die einsame Insel mitnehmen würde (sofern ich dort überhaupt etwas mit Informatik zu tun haben möchte, was ich natürlich sehr bezweifle :-)). Sie gehören als Paperback in die Handbibliothek in unmittelbarer Griffnähe vom Arbeitsplatz, wie auch in die E-Book Sammlung die ich auf allen meinen Geräten verteile. Also stehts im Zugriff.
Weiterlesen

Unit-Tests mit NetBeans

Schon viele Jahre hat das wohl bekannteste Unit-Test-Framework JUnit nun schon auf dem Buckel. Die Art wie wir damit heute Tests schreiben hat sich in dieser Zeit sehr stark verändert. Leider haben sich noch nicht alle IDE’s an diese Veränderung angepasst. Schauen wir uns mal an was NetBeans 8.0.1 für die Methode
public long addition(final int summand1, final int summand2)
für ein Codeskelett erzeugt:
Weiterlesen

Hello world!

Das ist doch geradezu der perfekte Titel für den ersten Post in diesem Blog, oder nicht?
Es muss bereits eine Unmenge von sogenannten “Hello world!“-Beispielen auf dieser Welt geben. In verschiedenen Jahren entstanden, für verschiedene Programmiersprachen adaptiert und bestimmt auch unzählige Male immer wieder kopiert. Aber wie sieht denn ein vernünftiges “Hello world!“-Beispiel für Java im Jahr 2014 aus? Weiterlesen