¿Qué tan importante es convertir todas mis importaciones a static import
? ¿Por qué las personas todavía son reacias a usar static import
?¿Debo usar la importación estática?
Respuesta
Yo diría que nunca use las importaciones de comodines estáticos.
Sin wildcarding, en la medida que sea necesario, creo que reduce el desorden.
Este es un caso especial, pero también es el caso perfecto uso (y lo uso en todas mis pruebas):
import static junit.framework.Assert.*;
Aquí, me parece que esto hace que mis pruebas más fácil de leer y es obvio desde donde assertXXX
viene de. Pero esta es una excepción. En otras situaciones, encuentro que la importación estática hace las cosas más oscuras, más difíciles de leer y realmente no las uso.
+1 lo he visto con frecuencia en mi código :-) –
Uso un static import
solo en las situaciones más obvias. Recuerde: el código conciso no siempre es lo mismo que el código legible.
Uso la importación estática cuando trabajo con la afirmación de JUnit (import static org.junit.Assert.*;
) y también cuando tengo un enum
que está muy vinculado a la clase en cuestión.
Por ejemplo:
archivo Enum:
public enum MyEnum {
A, B, C;
}
archivo de clase:
import static MyEnum.*;
public class MyClass {
MyEnum e;
public setE(MyEnum newE) {
if (newE == A) {
// some verification
}
e = newE;
}
}
Nota cómo pude hacer newE == A
, en lugar de newE == MyEnum.A
. Es útil si haces muchos de estos en todo el código.
Se prefiere el uso de static import
si está utilizando un IDE.
¿Por qué razón @fastcodejava? –
No es para nada importante convertir el código de trabajo existente, de hecho es solo un costo y riesgo innecesarios.
Puede considerar usarlo para nuevo código, si puede encontrar un uso convincente para él. Todavía no lo he hecho, pero puedo ...
- 1. importación estática sólo de clases e interfaces
- 2. impedir la importación de la función de la biblioteca estática
- 3. ¿cuál es la ventaja de utilizar "importación estática"?
- 4. superposición del método de importación estática
- 5. ¿Debo hacer esta clase estática?
- 6. ¿Agregar métodos favoritos a la importación estática en IntelliJ?
- 7. Cuándo usar la importación en SVN?
- 8. ¿Debo sincronizar una variable volátil estática?
- 9. ¿Puedo hacer una importación estática de una subclase privada?
- 10. Cómo usar la variable estática (BOOL) en el Objetivo C
- 11. ¿Debo usar `import os.path` o` import os`?
- 12. ¿Cuántas actividades debo usar?
- 13. C Inicialización de matriz estática: ¿Cuán detallado debo ser?
- 14. ¿Qué DB debo usar?
- 15. ¿Debo usar siempre genéricos?
- 16. ¿Debo usar jQuery.each()?
- 17. debo usar RoutedEventHandler
- 18. ¿Qué metainformaciones debo usar?
- 19. ¿Debo usar claves externas?
- 20. ¿Debo usar Bootstrap?
- 21. ¿Debo usar HttpRuntime.Cache?
- 22. ¿Debo usar @import o archivos de manifiesto?
- 23. ¿Cuándo debo usar cuaterniones?
- 24. ¿Cuándo debo usar adornos?
- 25. ¿Debo usar variables globales?
- 26. ¿debo usar la función php vacía()
- 27. Variable indefinida de la importación al usar wxPython en pydev
- 28. C# Falta de herencia estática: ¿qué debo hacer?
- 29. ¿Debo dejar de usar OpenCV?
- 30. ¿Debo usar EC2 con DynamoDB?
posible duplicado de [¿Qué es un buen caso de uso para la importación estática de métodos?] (Http://stackoverflow.com/questions/420791/what-is-a -good-use-case-for-static-import-of-methods) – Ingo