2012-01-08

Unnötige Fehler

Was ist an folgendem Quelltextfragment falsch?

-->
  private static final ResourceBundle b = ResourceBundle
      .getBundle("com.thomaskuenneth.swing.datepicker.resources.DatePicker");

So richtig falsch (ich mag solche Formulierungen) ist daran gar nichts. Dennoch ist es Code, den Sie so nicht schreiben sollten. Zum einen wurde die Variable b kleingeschrieben. Das ist unschön, weil sie den Charakter einer Konstanten hat. Zum anderen – und das ist der wirklich wichtige Teil – ist das Fragment wartungsunfreundlich. Ich bin darüber gestolpert, als ich die Datumsauswahl meiner TKSwingComponents in Notes and Tasks übernehmen wollte. Um sie in die Schuhschachtel legen zu können, musste ich die Paketstruktur der Datumsauswahl anpassen. Das führte natürlich dazu, dass die benötigten Ressourcen nicht mehr gefunden wurden.

-->
  private static final ResourceBundle B = ResourceBundle
      .getBundle(DatePicker.class.getPackage().getName() + ".resources."
          + DatePicker.class.getSimpleName());

Die Ressourcen werden in dieser zweiten Fassung an einem anderen Ort gesucht. resources liegt nicht mehr unterhalb von datepicker, sondern im Paket der Klasse DatePicker. Das Ablegen von Ressourcen in einem entsprechenden Unterverzeichnis ist natürlich willkürlich. Nach einem automatisierten Refactoring funktioniert aber alles weiterhin ohne Probleme.

No comments:

Post a Comment