Falsches Warning in IntelliJ?

Thallius

Top Contributor
Hi,

dieser Code

Code:
if(!avoidAllFEUsed || !(allFeUsed = checkAllFEUsed(group, allFEList, preferredFE)))
{
      if(checkToolsForJob(group))
      {
                if( allFeUsed)
                {

produziert ein IDE Warning

Condition 'allFeUsed' is always 'false'

Übersehe ich da was oder hat er unrecht?

Gruß

Claus
 

Blender3D

Top Contributor
if(!avoidAllFEUsed || !(allFeUsed = checkAllFEUsed(group, allFEList, preferredFE))) { if(checkToolsForJob(group)) { if( allFeUsed) {
Wenn die Eingangsbedingung
Java:
!(allFeUsed = checkAllFEUsed(group, allFEList, preferredFE)))
erfüllt ist, kann die zweite Bedingung
Java:
if( allFeUsed)
nie erfüllt sein. --> Die Warnung ist korrekt.
 

mrBrown

Super-Moderator
Mitarbeiter
Ist das nicht egal? Es wird ja in der If intialisiert wenn avoidAllFEUsed true ist
Ne, initialisiert wird's vorher, und im if wird's eben nur nur zugewiesen, wenn avoidAllFEUsed wahr ist, dann ist ist die gesamte Bedingung aber nur wahr, wenn allFeUsed falsch ist.

Wenn avoidAllFEUsed wahr ist, muss allFeUsed falsch sein, damit die Bedingung zutrifft - das innere if spielt also keine Rolle.
Wenn avoidAllFEUsed falsch ist, wird allFeUsed nicht neu zugewiesen und der Initialwert im inneren if genutzt.

(Und btw, solche Zuweisungen sind scheiße :p )
 

Thallius

Top Contributor
Ne, initialisiert wird's vorher, und im if wird's eben nur nur zugewiesen, wenn avoidAllFEUsed wahr ist, dann ist ist die gesamte Bedingung aber nur wahr, wenn allFeUsed falsch ist.

Wenn avoidAllFEUsed wahr ist, muss allFeUsed falsch sein, damit die Bedingung zutrifft - das innere if spielt also keine Rolle.
Wenn avoidAllFEUsed falsch ist, wird allFeUsed nicht neu zugewiesen und der Initialwert im inneren if genutzt.

(Und btw, solche Zuweisungen sind scheiße :p )

Ok aber ich wüßte jetzt nicht wie ich es "schöner" machen sollte. Das Abfragen vobn allFEUsed innen ist nur um ein Warning in den Log zu schreiben. Dieses Warning darf aber nur kommen wenn checkTools nicht fehlschlägt.
 

mrBrown

Super-Moderator
Mitarbeiter
Nur mir dem Code-Stück schlecht zu sagen, was man anders machen könnte.

Für den Anfang u.U. allFEUsed sinnvoll initialisieren, das aktuelle scheint ja nicht gewünscht zu sein (zumindest wird ja aktuell nie geloggt). Vielleicht kann man auch die Zuweisung erstmal daraus ziehen (je nachdem, ob die Methode aufgerufen werden darf oder ob das zu Problemen führt). Falls die innere Bedingung einen Fehlerzustand loggen soll, kann man das möglicherweise auch vorher schon abfangen. Schwierig, da irgendwas konkretes zu empfehlen...
 

Thallius

Top Contributor
Nur mir dem Code-Stück schlecht zu sagen, was man anders machen könnte.

Für den Anfang u.U. allFEUsed sinnvoll initialisieren, das aktuelle scheint ja nicht gewünscht zu sein (zumindest wird ja aktuell nie geloggt). Vielleicht kann man auch die Zuweisung erstmal daraus ziehen (je nachdem, ob die Methode aufgerufen werden darf oder ob das zu Problemen führt). Falls die innere Bedingung einen Fehlerzustand loggen soll, kann man das möglicherweise auch vorher schon abfangen. Schwierig, da irgendwas konkretes zu empfehlen...

Initialisierung von allFEUsed erfolgt genau eine Zeile über dem Code den ich gepostet habe. boolean allFEUsed = false;
checkAllFEUsed sollte nur aufgerufen werden wenn die erste Bedingung fehlschlägt, da das ein Codestück aus dem inneren einer sehr komplexen Berechnung ist (Deshalb auch nur das kleine Codestück) und dort jede unnötige Berechnung gespart werden muss.
 

Thallius

Top Contributor
So habe jetzt das Loggin in die checkAllFEUsed gepackt. Muste dafür zwar paar zusätzliche Parameter an die Methode geben die dummerweise echt nur fürs Loggin gebraucht werden aber ich glaube ich trotzdem der sauberer Weg.

Danke für die Hilfe

Claus
 

mrBrown

Super-Moderator
Mitarbeiter
Kommt drauf an, Dinge weiterreichen nur für's Logging ist nicht unbedingt der saubere Weg - die Methode loggt ja dann Dinge, die sie eigentlich nicht kennt.

u.U. kann man das sinnvoll umstrukturieren, etwa das erste if aufzulösen und den zweiten Teil vorher separat machen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Eclipse Konsole gibt falsches Java Projekt aus IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
Y Eclipse Neues Projekt - falsches JRE IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
L NetBeans WARNING: JavaFX API 8.0.111 - JavaFX runtime 8.0.102 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
J Eclipse Warning und Debug Icon überlappen verhindern? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
S Eclipse JAR export warning - duplicate entry IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
N Warning: Type safety: The method put(Object, Object) belongs IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
D Ant Projekt in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
MiMa IntelliJ GIT Local Zweig?? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
D Intellij source controll zeigt nicht alle klassen an ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
MiMa Die Sourcecode Verzeichnisse verschwinden in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
M Eclipse oder IntelliJ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
krgewb IntelliJ durchsucht .log-Dateien IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
Oneixee5 IntelliJ JavaEE IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
krgewb GUI-Elemente in IntelliJ verschwunden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
MiMa IntelliJ Projekt umbenennen?? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
MiMa IntelliJ dubious ownership in reposity? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
JAnruVA IDEA IntelliJ JavaScript in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
D Crawler funktioniert in intellij aber in Eclipse nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
W Speicherbelegung in IntelliJ auswerten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
N generate selected getters with intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
MiMa Netbeans zu IntelliJ mit Maven konvertieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
temi IDEA IntelliJ Intellij new UI IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
D strg + alt + B funktioniert nicht [IntelliJ] IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
MiMa IntelliJ Maven Projekt erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
MiMa IntelliJ GIT-Verzeigung zu Master hinzufügen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
MiMa Nebtbeans Projekte nach IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
L source folder und code highlighting IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 21
D lesen von json Dateien in Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
MiMa Doppelten Code in IntelliJ finden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
H Branches vergleichen - GIT, IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
frager2345 Datenbankzugriff Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
Y IDEA IntelliJ Warum findet IntelliJ die maven property nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
J IntelliJ IDEA IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
krgewb IntelliJ Idea - Alles eingeklappt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
LimDul IDEA IntelliJ Tipps für den Umstieg von Eclipse auf intelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
F IntelliJ IDEA Community Edition IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 26
S IDEA IntelliJ GUI Component Tree anzeigen in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
D Intellij Memory Settings IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
krgewb In IntelliJ alles eingeklappt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
N IDEA IntelliJ Intellij lässt keine neuen archetypes erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
S IDEA IntelliJ Scenebuilder in Intellij Idea am MAC OS X IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
OnDemand IntelliJ Branching Master/DEV Berechtigungen möglich? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
9 IDEA IntelliJ Wie kann man ein JUnit Test bei IntelliJ durchführen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
9 IDEA IntelliJ IntelliJ lässt nicht ein Code ausführen, wenn irgendwo in andere Klasse Fehler ist. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
krgewb IntelliJ - Zu application.properties springen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
O IntelliJ IDEA Lizenz IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
D Intellij mehrere Programme in einem Projekt bearbeiten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
M Intellij build jar funktioniert nicht ! IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
Z Intellij zeight H2-Datenbank nicht an IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
P Maven für Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
P Intellij "httpRequest" ins Projekt mit einbinden? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 49
temi IntelliJ, Gradle und Git: gitignore IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
N Frage zu meinen IntelliJ-Einstellungen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
mrBrown IntelliJ 2020.1 - Maven Projekte nicht ausführbar IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
W IntelliJ soll nicht immer alle Code-Files checken IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
D JavaFX 12 / SDK 12 -> IntelliJ error IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
R IDEA IntelliJ Intellij klaut mir zu viel zu viel Speicherplatz weg! IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 22
M Intellij IDEA lädt Font nicht und Darcula funktioniert nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
M Intellij IDEA Programm ohne Main-Methode starten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
Y Intellij mit Android SDK IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
B IntelliJ - .properties in jar einbinden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
E Maven-Installation für Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
U IDEA IntelliJ IntelliJ IDEA automatische Formatierung deaktivieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
K IntelliJ unter Linux: Probleme beim Ausführen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
M Idea IntelliJ - Starten der Mainmethode ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
A IDEA IntelliJ IntelliJ Maven oder Webprojekt, kann keine normalen Java Klassen erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
K IDEA IntelliJ Umstieg von ADT (Eclipse) auf Android-Studio (IntelliJ IDEA) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
R intellij idea mit SVN tortoise 1.8 verwenden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
X "Extract Method Object" aus IntelliJ auch in Eclipse? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
U [IntelliJ] Variablen Refactoring IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
H Intellij 8.1.3 JDSK Probleme IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
S Metriktools für IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
M Grails Plugin in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
A IntelliJ zeigt meine class-Files nicht an!? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
L Intellij IDEA 8 - Wie ist eure Meinung? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 38
J IDEA IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
G IDEA IntelliJ Problem IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4

Ähnliche Java Themen


Oben