intellij-idea
ispezioni
Ricerca…
introduzione
Intellij IDEA fornisce molte ispezioni di codice, che possono semplificare notevolmente la scrittura del codice.
I parametri di ispezione sono disponibili in Preferences
| Editor
| Sezione Inspections
Di default, IDEA ha molti di questi abilitati. E molte ispezioni supportano le opzioni di auto-fissaggio, che possono essere visualizzate premendo Alt + Invio.
Per eseguire ispezioni per l'intero progetto (o un ambito personalizzato), è necessario selezionare Analyze
| Inspect code
.
@NotNull / @Nullable ispezioni
Queste ispezioni sono estremamente utili per prevenire NullPointerException
s. Di default sono disabilitati. Puoi trovare queste ispezioni nelle preferenze di Inspections
: Java
| Probable bugs
| Constant conditions & exceptions
e @NotNull/@Nullable problems
. Lì puoi anche configurare le tue annotazioni. È possibile utilizzare questo manuale per aggiungere annotazioni JetBrains nel progetto.
Ad esempio, considera questi metodi:
Se getString
non può restituire null
, tutto va bene. Ma se abilitiamo le nostre ispezioni e in alcuni casi può restituire null, vedremo immediatamente l'ispezione innescata:
che dice 'null' is returned by the method which is not declared as @Nullable
. E se Annotate method as '@Nullable'
Alt + Invio, ci sarà un'opzione Annotate method as '@Nullable'
. Se premi di nuovo Invio, il nostro codice sarà simile al seguente:
con l'ispezione attivata sul metodo length()
dicendo che il Method invocation 'length' may produce 'java.lang.NullPointerException'
. E se andiamo oltre e introduciamo il risultato del metodo getString()
come variabile, dopo aver getString()
Alt + Invio IDEA suggerirà alcuni modi per risolvere questo controllo:
In questo modo puoi ispezionare il tuo codice al volo e correggere tutti i potenziali NullPointerException
. Se si desidera controllare l'intero progetto (o un ambito casuale), è possibile utilizzare Analyze
| Inspect code
. Assicurati che il tuo profilo di ispezioni selezionato abbia tutte le ispezioni necessarie abilitate.