Quanto è importante convertire tutte le importazioni in static import
? Perché le persone sono ancora riluttanti a utilizzare static import
?Devo usare l'importazione statica?
risposta
Direi, non utilizzare mai le importazioni statiche con caratteri jolly.
Senza caratteri jolly, in base alle esigenze, penso che riduca il disordine.
Questo è un caso speciale, ma anche il caso d'uso perfetto (e lo uso in tutte le mie prove):
import static junit.framework.Assert.*;
Qui, trovo che questo rende il mio test più leggibile ed è ovvio da dove assertXXX
vieni da Ma questa è un'eccezione. In altre situazioni, trovo che l'importazione statica rende le cose più oscure, più difficili da leggere e in realtà non le uso.
+1 visto che nel mio codice abbastanza spesso :-) –
Io uso un static import
solo nelle situazioni più evidenti. Ricorda: il codice conciso non è sempre la stessa cosa del codice leggibile.
Io uso l'importazione statica quando si lavora con assert di JUnit (import static org.junit.Assert.*;
) ed anche quando ho un enum
che è molto legato alla classe in questione.
Ad esempio:
file di Enum:
public enum MyEnum {
A, B, C;
}
file di classe:
import static MyEnum.*;
public class MyClass {
MyEnum e;
public setE(MyEnum newE) {
if (newE == A) {
// some verification
}
e = newE;
}
}
Si noti come sono stato in grado di fare newE == A
, invece di newE == MyEnum.A
. È utile se ne fai un sacco in tutto il codice.
L'uso di static import
è preferibile se si utilizza un IDE.
Per quale motivo @fastcodejava? –
Non è affatto importante convertire codice di lavoro esistente, in realtà è solo un costo e un rischio inutili.
Si può considerare l'utilizzo per il codice nuovo, se è possibile trovare un uso convincente per questo. Non l'ho ancora fatto, ma potrei ...
possibile duplicato di [Che cosa è un buon caso d'uso per l'importazione statica dei metodi?] (Http://stackoverflow.com/questions/420791/what-is-a -buon-use-case-for-static-import-of-methods) – Ingo