Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich versuche derzeit eine Anwendung zu verbessern, indem ich nach und nach immer mehr Compilereinstellungen von "Ignorieren" auf zumindest "Warning" umstelle und diese Warnings dann abarbeite .....
Jetzt bin ich auf die im Titel genannte Einstellung gestossen, die noch den Hinweis enthält:
"fehlender/nicht verwendeter Tag //$NON-NLS-<n>$"
Eine solche Warning kommt bspw. in folgendem Fall:
Java:
// Deklaration
public MeineKlasse( String strIrgendwas )
{
// tue irgendwas .....
}
// 1. Aufruf
public MeineKlasse objMeineKlasse = new MeineKlasse( "Mein Titel" ); // <-- ""Mein Titel" liefert die Meldung
// 2. Aufruf
String sTMP = "Mein Titel; // <-- ""Mein Titel" liefert die Meldung
public MeineKlasse objMeineKlasse = new MeineKlasse( sTMP );
// OK, so kommt keine Meldung mehr
public MeineKlasse objMeineKlasse = new MeineKlasse( "Mein Titel" ); //$NON-NLS-<n>$
Hierzu zwei Fragen:
(a) was genau bedeutet denn in diesen Zusammenhang "ausgelagert" ( wie oder wohin??) ???:L
(b) sehe ich es richtig, dass ich mit dem "//$NON-NLS-<n>$" lediglich die Warning unterdrücke, quasi ähnlich wie mit "Suppress Warning" ??
Strings sollten "ausgelagert" werden. Vor allem für die Wiedervendbarkeit und die Übersichtlichkeit tust du dir damit einen großen Gefallen. Auch mehrsprachige Anwendungen werden dadurch möglich.
Erstelle dir eine "augelagerte" PropertyDatei, die deine Strings enthält und auf die du über eine Klasse zugreifst und Google mal ein wenig.
Die Möglichkeit mit //$NON-NLS-<n>$ ist dafür gedacht, dass du teilweise Strings hast, die dem Programmcode dienen (z.B. foo.contains("-")) - diesen String würdsest du nicht auslagern wollen, da er sowieso für alle Sprachen gleich ist und es durchaus hinderlich wäre, wenn ihn in der Property Datei jemand verändert. Außerdem hast du die Möglichkeit außerhalb der Applikation die Strings zu ändern und musst die App lediglich neu deployen ohne im Code zu werkeln <n> gibt übrigens die Position des Strings in der Zeile an.
Strings sollten "ausgelagert" werden. Vor allem für die Wiederverwendbarkeit und die Übersichtlichkeit tust du dir damit einen großen Gefallen. Erstelle dir eine "augelagerte" PropertyDatei, die deine Strings enthält und auf die du über eine Klasse zugreifst
Aha, sowas hatte ich schon befürchtet ;(
Leider umfasst die gesamte Anwendung (inklusive div. Altlasten durch meinen Vorgänger) etwa 80.000 Zeichen Code mit (vermutlich ) ebenso vielen String-Deklarationen .... Da würde ich dann wohl ein wenig über's Ziel hinaus schießen .....
Na ja, im Zweifel werde ich die Compileroption ja auch wieder auf ignorieren setzen :bae:
es gibt die PDE Tools, die eine Möglichkeit "Externalize Strings" bieten. Die Tools sind aber eigentlich für Plugin-Development gedacht, deshalb weiß ich nicht genau, ob du sie verwenden kannst -> Link
Es geht auch ohne die Zahl, dann ignoriert er wohl alle Strings der Zeile