2017-01-09 1 views
1

SonarLint sagt, dass ich if(programFolder.toFile().exists) anstelle von if(Files.exists(programFolder)) verwenden sollte. Ich dachte immer, dass es empfohlen wird, den neueren nio-Pfad anstelle von io-Datei zu verwenden.SonarLint Regel betreffend Files.notExists

Kann mir jemand erklären, warum SonarList die Verwendung der Datei anstelle des Pfades in diesem Fall ermutigt?

+2

Es dauerte eine Minute, um dies zu finden, mit Google: https://github.com/SonarSource/sonar-java/pull/1009/files#diff-cc16f87fc630cd3cca1b8b05093433c2 –

+0

Sie haben auch die Beschreibung der Regel von SonarLint zugänglich direkt, wenn Sie auf das Problem in der Liste der Probleme klicken. Hier ist ein Link zur Beschreibung der Regel https://sonarqube.com/coding_rules#rule_key=squid%3AS3725 Bitte werfen Sie einen Blick auf den letzten Abschnitt, der zu zwei JDK-Fehlern führt, die erklären, was vor sich geht. – benzonico

Antwort

1

Sie haben die Beschreibung der Regel von SonarLint direkt zugänglich, wenn Sie auf das Problem in der Liste der Probleme klicken. Hier ist ein Link zur Beschreibung des rule.

Wenn Sie den letzten Abschnitt der Beschreibung betrachten, der zu zwei JDK-Fehlern führt, die erklären, was vor sich geht. Im Grunde funktioniert diese Implementierung schlecht, da sie unnötige Stapel mit Fehlern auffüllt, wenn die Datei nicht existiert.

+0

Danke für die Antwort. Aus irgendeinem Grund ist das SonarLint-Berichtsfenster in Eclipse leer. Aber die Zeile wird im Editor hervorgehoben und im Fenster für normale Probleme angezeigt. Daher kann ich den Regelbeschreibungslink im Bericht nicht verwenden. – user2602386

Verwandte Themen