intellij-idea
Inspekcje
Szukaj…
Wprowadzenie
Intellij IDEA zapewnia wiele inspekcji kodu, które mogą znacznie uprościć pisanie kodu.
Parametry inspekcji można znaleźć w Preferences
| Editor
| Sekcja Inspections
. Domyślnie IDEA ma włączonych wiele z nich. Wiele kontroli obsługuje opcje automatycznego ustawiania, które można zobaczyć po naciśnięciu Alt + Enter.
Aby uruchomić inspekcje dla całego projektu (lub jakiegoś niestandardowego zakresu), musisz wybrać Analyze
| Inspect code
.
Kontrole @NotNull / @Nullable
Te inspekcje są niezwykle przydatne do zapobiegania NullPointerException
. Domyślnie są one wyłączone. Te inspekcje można znaleźć w Preferencjach Inspections
: Java
| Probable bugs
| Constant conditions & exceptions
oraz @NotNull/@Nullable problems
. Tam możesz również skonfigurować swoje adnotacje. Możesz użyć tego podręcznika, aby dodać adnotacje JetBrains do swojego projektu.
Rozważmy na przykład następujące metody:
Jeśli getString
nie może zwrócić null
, wszystko jest w porządku. Ale jeśli umożliwimy nasze inspekcje, a w niektórych przypadkach może ona być zerowa, natychmiast zobaczymy, że inspekcja zostanie uruchomiona:
który mówi 'null' is returned by the method which is not declared as @Nullable
że 'null' is returned by the method which is not declared as @Nullable
. A jeśli Annotate method as '@Nullable'
Alt + Enter, pojawi się opcja Annotate method as '@Nullable'
. Jeśli ponownie naciśniemy Enter, nasz kod będzie wyglądał następująco:
z inspekcją wywołaną metodą length()
mówiącą, że Method invocation 'length' may produce 'java.lang.NullPointerException'
. A jeśli pójdziemy dalej i przedstawimy wynik metody getString()
jako zmienną, po wciśnięciu Alt + Enter IDEA zasugeruje kilka sposobów na naprawienie tej kontroli:
W ten sposób możesz sprawdzić swój kod w locie i naprawić wszystkie potencjalne NullPointerException
. Jeśli chcesz sprawdzić cały projekt (lub jakiś zakres losowy), możesz użyć narzędzia Analyze
| Inspect code
. Upewnij się tylko, że wybrany profil inspekcji ma włączone wszystkie niezbędne inspekcje.