Category: Java

  • Statische Sprachen am Ende?

    Ich habe den Eindruck, dass sich die Erkenntnis, dass statiche Sprachen eher nicht so ‘ne tolle Idee sind, langsam den Mainsteream erreicht. Insbesondere die zunehmende Verkomplizierung der Java Syntax (Generics etc.) erscheint vielen Kommentatoren hilflos. Interessant übrigens was Bruce Eckel über Java Generics (uns was sie nicht können) schreibt . Auch gut: Martin Fowler über…

  • Java XML-Binding

    Ich war heute fast den ganzen Tag damit beschäftigt eine nicht besonders komplexe azyklische Objektstruktur auf ein XML zu mappen. Dabei hatte ich die Klassen schon implementiert und wollte sie nicht aus einem Schema generiert bekommen. Dabei stellte sich heraus, dass es zahlreiche OS Produkte gibt. Evaluiert habe ich Castor und Commons Betwixt und mich…

  • Warum ich IntelliJ bevorzuge

    Ich hatte neulich eine Diskussion mit Simon über die Frage, ob es nach Eclipse IntelliJ noch braucht. Ich habe letzte Woche zwei Tage mit Eclipse 3.1 gearbeitet (um 2.1er Plugins zu entwickeln und das funktioniert bestens!). Dabei sind mir neben der besseren Tastaturbedienbarkeit zwei Dinge aufgefallen. Der Parser von IntelliJ ist viel besser. Der erkennt…

  • Enhanced Antbuilds

    Do you guys hate ant’s build.xml file format as much as I do? So there seems to be a pragmatic solution. Use the ever growing library of ant tasks, but write your scripts in groovy. There is an Article as well as a chapter in Mike Clark’s Pragmatic Project Automation.

  • Forms and Binding for SWT

    Yesterday I learnt that Karsten’s brilliant

  • Commandments of Java Programming #4

    h2. The law of null # _Every non-private method shall never return null._ # _Every non-private method shall check every parameter for null._ While one school of thought proposes ever new languages to take care of this issue (a recent example is nice). I think that these simple rules help us to fend off NPEe…

  • Commandments of Java Programming #3

    Du sollt nicht erben, sondern delegieren Nur weil ich etwas _benutzen_ will, muss ich es nicht _sein_. Typisches Beispiel ist JFrame. Immer wieder liest man Beispiele oder Livecode, in dem Klassen von JFrame abgeleitet werden. Dabei wird in der Regel keine einzige Methode überschrieben. Das ist nicht gut!

  • Commandments of Java Programming #2

    Du sollst keine XML-Dokumente aus Strings zusammenbasteln Hierfür gibt’s DOMs oder zur Not auch Template-Engines. Eine sehr schöne API hat dom4j. Sowas hat das W3C nicht hinbekommen…

  • Commandments of Java Programming #1

    Du sollst keine statischen Variablen verwenden. Nur Konstanten dürfen static declariert werden. Diese dürfen auch lazy initialisiert werden. Auf jeden Fall zu vermeiden sind statische Collections, die nicht unmodifiable sind. Auch das Singleton Pattern in der Standardvariante ist zu vermeiden. Hier können oft Komponenten Frameworks helfen (Spring, Pico etc.). Wenn es unumgänglich ist, ist durch…

  • Ad-Hoc Exception Handling

    Gerne nutze ich während des Entwicklungs die Fähigkeit moderner Entwicklungsumgebungen automatisch try-catch Blöcke zu erzeugen. Man möchte schließlich die Funktionalität fertig kriegen. Normalerweise kommt dabei sowas raus: try{ doSomthingInteresting(); } catch (Exception e) { //todo: error handling e.printStackTrace(); } Der Nachteil ist offensichtlich. Der Tag an dem man alle Todos abarbeitet kommt nie. Irgendwann tritt…