Was bedeutet Dead Code unter Eclipse IDE Probleme Abschnitt
Ich benutze Eclipse Helios IDE für unsere Web-Anwendung Entwicklung.
Unter Abschnitt Probleme in Eclipse, die für einige Zeilen der Beschreibung angezeigt wird, als "Dead Code".
Könnte jemand bitte sagen Sie mir, was hat Dead Code eigentlich bedeuten ?
Bitte siehe Screenshot für Ihren Hinweis.
Beispielsweise diesem Teil wird gezeigt, wie dead code unter Eclipse
else {
int length;
if (ar != null)
length = Array.getLength(ar);
else
length = 0; //This line is dead code
Kommentar zu dem Problem
Vermutlich, weil Sie es können, beweisen Sie, dass
ar
wird NIE null sein, da ohne mehr code können wir nicht sicher sagen (aber sonst ist es ein bug und ich bin eher geneigt zu suchen, um Fehler in Ihrem code, als in der eclipse-compiler 😉 ) Nur erwähnenswert - Eclipse-manchmal wird das falsch. Ich habe gesehen, Eclipse Neon geben, den "dead code" error code, die nachweislich nicht tot ist.
InformationsquelleAutor der Frage Pawan | 2012-01-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Eclipse "dead code" ist code, der nie ausgeführt werden. Es ist in der Regel in eine bedingte Verzweigung, die logischerweise nie eingegeben werden.
Ein triviales Beispiel wäre das folgende:
Es ist nicht ein Fehler, weil es immer noch gültig java, aber es ist eine nützliche Warnung, vor allem, wenn die logischen Bedingungen Komplex sind und wo es möglicherweise nicht intuitiv offensichtlich, dass der code nie ausgeführt werden.
In Ihrem konkreten Beispiel, Eclipse hat berechnet, dass
ar
wird immer ungleich null sind, und so dieelse length = 0
Zweig nie ausgeführt werden.Und ja, es ist möglich, dass Eclipse ist falsch, aber es ist viel wahrscheinlicher, dass es das nicht ist.
InformationsquelleAutor der Antwort skaffman
Dead code ist code, der nie ausgeführt werden, z.B.
InformationsquelleAutor der Antwort THelper
Dead code bedeutet, dass es keine Möglichkeit gibt, dass dieser code ausgeführt wird.
Manchmal können Sie sogar nicht kompilieren (wie in diesem Fall:)
Aber in anderen Fällen ist dies nicht zu offensichtlich, z.B. diese Aussage:
Wenn Sie diese Nachricht, es ist einige große Fehler in Ihrem code. Sie haben, um es zu finden, sonst wird Ihre app nicht wie gewünscht funktioniert.
InformationsquelleAutor der Antwort Force
Gibt es zwei Arten der Diagnostik, die Eclipse gibt für die Kennzeichnung von code, das wird/kann nicht zur Laufzeit ausgeführt werden.
1) nicht-erreichbar-code: Dies sind die üblichen java-Warnungen, dass die Folgen der unreachability Regeln der JLS, und auch die von javac. Diese sind gedacht, um Fehler bei der Kompilierung. Beispiele:
Gibt es andere, kompliziertere Beispiele 🙂
2) Dead code: Dies ist der Eclipse-eigene statische Analyse Warnungen, und sind meist gebunden, die aus der null-Analyse, d.h.
Die Beispiele, die oben gegeben werden, sollten Sie NICHT geben, eine dead-code-Warnung. also
sollte nicht der Warnung, weil JLS verbietet der compiler zu bewerten, der 'Wert' der Variablen. Alles, was wir beurteilen können ist die 'nullness'
Hoffe, das hilft
InformationsquelleAutor der Antwort Ayushman
Könnten Sie mit einem Null-Zeiger-Ausnahme in den Zeilen über den "Dead Code" - Zeilen.
Stellen Sie sicher, dass Sie überprüfen, für "Null-Zeiger" - Ausnahme.
InformationsquelleAutor der Antwort Abhijeet
Ist es möglich, dass Sie die variable
ar
vor. Dann weiß der compiler, dass die Zeile im else-Anweisung wird nie ausgeführt werden. Entweder wird es einNullPointerException
an der Stelle, wo Sie verwendet werdenar
oder der erste Teil derif
- Anweisung ausgeführt wird.InformationsquelleAutor der Antwort Vladislav Kargin
lassen Sie mich einige Antwort für die dead code.
ZB:
hier das System.aus.println("nicht erreichbar Zeile"); nie ausgeführt wird.
Was wiederum als ein dead code.
Ein weiteres Beispiel kann sein:
einfach gibt die Funktion i + j; nie wirklich verwendet Summe.
Summe betrachtet, ist dead code hier.
InformationsquelleAutor der Antwort s.sathish kumar
Einige andere Fall, wenn dies geschieht.
1) Hier, wie Sie Sie drucken das Ergebnis und die Prüfung isEmpty() eclipse wird davon ausgegangen, dass das Ergebnis nicht null, so wird es nicht gehen, wenn. Also return Ergebnis ist dead code.
2)lassen Sie uns Jetzt sagen Ergebnis kommt null, so erhalten Sie NullPointerException in Folge.isEmpty() also nochmal, es wird nicht gehen wenn und return Ergebnis ist deadcode
Diese Arbeit zu machen, nur Kommentar-out-System.aus.println().
InformationsquelleAutor der Antwort Manan Bhatt
Eclipse gibt diese Warnung aus, wenn die Bedingung überprüfen, die Sie geben, kann nie zufrieden sein. Im folgenden sind einige Beispiele
Hier Dead code Warnung wird kommen, als Objekt ist bereits null
Weiteres Beispiel ist unten gegeben
Hier der code versucht, den Zugriff auf eine variable der Klasse. Da die variable bereits zugegriffen, eclipse geben wird, die dead code Warnung wenn(bstTest==null) bstTest darf nicht null sein, wenn die variable bereits zugegriffen.
Hinweis: Hier bstTest.test null-Zeiger-Ausnahme
InformationsquelleAutor der Antwort Deni Simon
Versuchen Sie dies:
Ist der code gültig, da Sie konform zu den compiler, aber in der Realität wird die Schleife nie beendet, und Wirkung S. O. P werden nie ausgeführt.
InformationsquelleAutor der Antwort CuriousMind