"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Article Évitez les chaînes là où d'autres types sont plus adaptés

Article Évitez les chaînes là où d'autres types sont plus adaptés

Publié le 2024-11-02
Parcourir:722

1. Évitez d'utiliser des chaînes comme substituts à d'autres types de données :

Les chaînes sont conçues pour représenter du texte, mais sont souvent utilisées à mauvais escient pour représenter des nombres, des énumérations ou des structures agrégées.
Si les données sont de nature numérique, utilisez des types tels que int, float ou BigInteger, et non String.

String age = "30";  // incorreto
int age = 30;       // correto

2. Les chaînes sont de mauvais substituts aux types enum :

L'utilisation d'énumérations est plus sûre et plus lisible que l'utilisation de chaînes pour représenter des valeurs énumérées.

String status = "ACTIVE";  // incorreto
Status status = Status.ACTIVE;  // correto, usando enum

3. Les chaînes sont des substituts inférieurs aux types d'agrégats :

Représenter des données complexes sous la forme d'une chaîne unique, séparée par des délimiteurs, peut provoquer des erreurs et des problèmes de maintenance. Il est préférable de créer des classes pour ces données.

Exemple incorrect (utilisation d'une chaîne pour représenter des données agrégées) :

String personData = "John|Doe|30";

Exemple correct (utilisation d'une classe) :

class Person {
    String firstName;
    String lastName;
    int age;

    // Construtor e métodos adequados
}

4. Chaînes comme substituts aux ressources (Exemple : variables locales de thread) :

L'utilisation de chaînes pour identifier les ressources en tant que variables locales du thread peut entraîner des problèmes de sécurité et des collisions de noms. Remplacez par des clés plus sécurisées.

Exemple incorrect (utilisation d'une chaîne pour identifier la variable locale du thread) :

Map threadLocalVariables = new HashMap();
threadLocalVariables.put("myVariable", value);

Exemple correct (utilisation d'une clé sécurisée) :

class Key {
    // implementação da chave
}

Map threadLocalVariables = new HashMap();
Key key = new Key();
threadLocalVariables.put(key, value);

Utilisation correcte de ThreadLocal :

La conception idéale pour les variables locales de thread implique l'utilisation de ThreadLocal, qui permet la création de variables associées à chaque thread de manière sécurisée.

Exemple d'utilisation correcte de ThreadLocal :

private static final ThreadLocal threadId = ThreadLocal.withInitial(() -> 0);

public static void main(String[] args) {
    System.out.println(threadId.get());  // obtem o valor da variável local da thread
}

Conclusion:

Évitez la tentation d'utiliser des chaînes pour tout. L'utilisation de types de données plus appropriés ou la création de nouveaux types évite les erreurs, améliore la lisibilité et rend le code plus efficace et plus sécurisé.

Exemples tirés du livre :

Item  Evite as strings onde outros tipos forem mais adequados

Item  Evite as strings onde outros tipos forem mais adequados

Déclaration de sortie Cet article est reproduit sur : https://dev.to/giselecoder/item-62-evite-as-strings-onde-outros-tipos-forem-mais-adequados-2o63?1 En cas de violation, veuillez contacter study_golang @163.com supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3