Blog

Offener Brief an Geertjan Wielenga

Wilfred Springer

Aktualisiert Oktober 23, 2025
2 Minuten

Geertjan Wielenga versucht nun schon seit ein paar Jahren, mich wieder in die NetBeans-Gemeinschaft zu ziehen. Ich bewundere seine Beharrlichkeit. Wenn das typisch für das gesamte NetBeans-Team ist, dann ist Eclipse schon bald weg vom Fenster.

Es gibt eine Sache - wirklich nur eine Sache - die mich dazu bringen würde, Eclipse sofort zugunsten von NetBeans aufzugeben. Das wäre eine bessere Unterstützung für fließende Schnittstellen in der Art und Weise, wie die IDE den Quellcode formatiert. Ich habe in den letzten Jahren an einigen fließenden Schnittstellen gearbeitet, und es ist einfach großartig. Es wird immer zu Code führen, der leichter zu lesen ist, und es kostet Sie keinen Cent; Sie erhalten die Vorteile der Java 5 Typsicherheit, ohne die Lesbarkeit zu opfern. Nehmen wir dieses Pecia Beispiel: [java] doc .section("Einleitung") .para() .text("Dies ist ein Dokument. Schauen Sie sich unbedingt auch den ") .emphasis("next").text(" Abschnitt an.") .end() .end() .section("Conclusion") .para("That's all folks.") .end() .end(); [/java] Nun, IMHO ist dies ziemlich einfach zu lesen und zu verstehen. Das Layout Ihres Codes spiegelt eindeutig die Struktur des zugrunde liegenden Dokumentenmodells wider. Wenn Sie jedoch Befehl-Umschalt-F drücken, um Ihren Code zu formatieren, erhalten Sie das folgende Ergebnis: [java] doc.section("Einleitung").para().text("Dies ist ein Dokument. Schauen Sie sich auch den ").emphasis("weiter").text(" Abschnitt an.").end().end().section("Fazit").para("Das ist alles, Leute.").end().end(); [/java] Nicht ganz so gut wie das, was wir vorher hatten. Nun hätte ich gerne eine Lösung, die dies grundsätzlich verhindert. Ich habe eine Weile darüber nachgedacht und könnte mir vorstellen, ein paar Annotationen dafür einzuführen. Annotationen für fließende Schnittstellen. Anmerkungen, die Ihrer IDE mitteilen, wie die verschiedenen Komponenten in Ihren fließenden Schnittstellen für die Formatierung zu behandeln sind. Vielleicht Anmerkungen zum Typ des Objekts, das durch die section()-Operation erzeugt wird, die den Compiler darüber informieren, dieses Objekt als "Codeblock" zu behandeln, was die Einrückung betrifft. Und vielleicht eine Anmerkung zur Methode .end(), die der IDE mitteilt, dass sie das Ende des "Codeblocks" darstellt.

test1

Also an Sie, Geertjan: Ich schwöre feierlich, Eclipse von meiner Festplatte zu löschen, sobald so etwas in NetBeans implementiert wird. Vielleicht ist ein annotationsbasierter Ansatz das, was wir brauchen, vielleicht auch nicht; das ist mir eigentlich egal, solange etwas in dieser Sache getan wird. (Wenn noch jemand eine Idee dazu hat, würde ich mich freuen, sie zu hören).

Verfasst von

Wilfred Springer

Contact

Let’s discuss how we can support your journey.