1. Evite el uso de cadenas como sustitutos de otros tipos de datos:
Las cadenas están diseñadas para representar texto, pero a menudo se usan incorrectamente para representar números, enumeraciones o estructuras agregadas.
Si los datos son de naturaleza numérica, utilice tipos como int, float o BigInteger, no String.
String age = "30"; // incorreto int age = 30; // correto
2. Las cadenas son malos sustitutos de los tipos de enumeración:
Usar enum es más seguro y legible que usar cadenas para representar valores enumerados.
String status = "ACTIVE"; // incorreto Status status = Status.ACTIVE; // correto, usando enum
3. Las cadenas son sustitutos inferiores de los tipos agregados:
Representar datos complejos como una sola cadena, separada por delimitadores, puede provocar errores y problemas de mantenimiento. Es mejor crear clases para estos datos.
Ejemplo incorrecto (uso de cadena para representar datos agregados):
String personData = "John|Doe|30";
Ejemplo correcto (uso de una clase):
class Person { String firstName; String lastName; int age; // Construtor e métodos adequados }
4. Cadenas como sustitutos de recursos (Ejemplo: variables locales de hilo):
El uso de cadenas para identificar recursos como variables locales de subprocesos puede provocar problemas de seguridad y colisiones de nombres. Reemplácelas con claves más seguras.
Ejemplo incorrecto (uso de cadena para identificar la variable local del hilo):
MapthreadLocalVariables = new HashMap(); threadLocalVariables.put("myVariable", value);
Ejemplo correcto (uso de una clave segura):
class Key { // implementação da chave } MapthreadLocalVariables = new HashMap(); Key key = new Key(); threadLocalVariables.put(key, value);
Uso correcto de ThreadLocal:
El diseño ideal para variables locales de subprocesos implica el uso de ThreadLocal, que permite la creación de variables asociadas con cada subproceso de forma segura.
Ejemplo de uso correcto de ThreadLocal:
private static final ThreadLocalthreadId = ThreadLocal.withInitial(() -> 0); public static void main(String[] args) { System.out.println(threadId.get()); // obtem o valor da variável local da thread }
Conclusión:
Evite la tentación de utilizar cadenas para todo. El uso de tipos de datos más apropiados o la creación de nuevos tipos previene errores, mejora la legibilidad y hace que el código sea más eficiente y seguro.
Ejemplos del libro:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3