Feb 132015
 

Wenn man neu in ein Projekt mit Eclipse kommt, dann ist es meist so, dass es nur sauberen Code gibt; keine unnötigen Importe oder ungenutzte Variablen vorhanden und auch sonst sind die Eclipse-Warnungen auf 0. Oder vielleicht gibt es eine Handvoll Warnungen, mehr aber nicht, richtig?

Wer jetzt mit „Richtig“ antwortet, von dem möchte ich bitte einen Screenshot! Meine Erfahrung ist, dass es zwischen 1000 und 10.000 Warnungen gibt, jeder im Team das weiss, aber kaum einer etwas dagegen tut, bzw. nicht genau weiss, wie er das angehen soll.

Jeder kennt das Pfadfinderprinzip: den Code besser hinterlassen, als er vorgefunden wurde. In diesem Fall den Code mit weniger Warnungen hinterlassen. ,Die schiere Menge  verhindert dies allerdings. Man hat keinen Überblick darüber, welche Warnungen schon vorhanden waren und welche man eventuell neu hinzu geschaffen hat und welche zu „meinem“ Bereich gehören.

Was kann man also tun? Woran erkennt man neue Meldungen und woran, welche noch behoben werden sollen?

In Eclipse kann man Working Sets  erzeugen, siehe Link. Damit organisiert man seinen Code im Package Explorer. Für verschiedene Bereiche erstellt man seine Workings Sets.  Was aber weniger bekannt ist, damit kann man auch seine Warnungen filtern.

Dazu die „Marker“ – View öffnen und eine neue View anlegen.

Bildschirmfoto 2015-02-13 um 19.17.31

 

In der neuen Markersview („Projekt“) dann den Inhalt konfigurieren. Bildschirmfoto 2015-02-13 um 19.18.26

 

Dann Einstellen, dass man selber konfiguriert und beim Scope „on working Set“ einstellen. Dort wählt man dann seine Working Sets. Diesw sollten dann die sein, an denen man gerade programmiert.Bildschirmfoto 2015-02-13 um 19.20.27

In der ursprünglichen Markers-View sind weiterhin alle Warnungen erhalten In der neuen Markers-View sind nur noch Warnungen aus dem Bereich, den man gerade bearbeitet. Im Idealfall sind dies dann wirklich nur eine Handvoll und die kann (und sollte) man dann beheben.

Der Schlüssel zum Ganzen sind die Working Sets!

Feb 132015
 

Wenn man eine RegEx-Suche nutzt, hat man den Vorteil, dass man den Suchbegriff beim Ersetzen mit benutzen kann. Kleines Codebeispiel aus Eclipse:

private static final String DB_PATH = "target/chess-db";

Der String „target/chess-db“ soll, warum auch immer,  ersetzt werden durch:

private static final String DB_PATH = String.valueOf("target/chess-db");

Mit RegEx ganz einfach. String markieren und ersetzen durch :

String.valueOf($0)

 

Bildschirmfoto 2015-02-13 um 17.05.43

Mit $0 kann man das erste Ergebnis einer Gruppe wieder verwenden. Es funktioniert nur, wenn man

  1. eine RegEx Suche verwendet, und
  2. man nach dem Gesamten Ausdruck sucht.

Will man beispielsweise alle seine String-Ausdrücke ersetzen und will nicht jedesmal vorher den Begriff markieren um dann erst danach zu suchen. Dann kann man auch mit einem RegEx suchen.
Mit:

"\w+\ *\w*.*"

findet man String zwischen zwei “ “ , allerdings nur, wenn es nicht mehr als einen String pro Zeile gibt.

Wer mehr zu RegEx erfahren möchte, dem kann ich diese Seite empfehlen.

Es lohnt sich, wenn man versucht aus jeder Suche mittels RegEx zu machen. Das übt ungemein und bringt ungeahnte Vorteile mit sich.