"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Item Evite as strings onde outros tipos forem mais adequados

Item Evite as strings onde outros tipos forem mais adequados

Publicado em 2024-11-02
Navegar:227

1. Evitar usar strings como substitutas de outros tipos de dados:

Strings são projetadas para representar texto, mas muitas vezes são usadas indevidamente para representar números, enums ou estruturas agregadas.
Se os dados forem de natureza numérica, use tipos como int, float ou BigInteger, e não String.

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

2. Strings são substitutas precárias para tipos enum:

Usar enum é mais seguro e legível do que usar strings para representar valores enumerados.

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

3. Strings são substitutas inferiores para tipos agregados:

Representar dados complexos como uma única string, separados por delimitadores, pode causar erros e problemas de manutenção. É melhor criar classes para esses dados.

Exemplo incorreto (uso de string para representar dados agregados):

String personData = "John|Doe|30";

Exemplo correto (uso de uma classe):

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

    // Construtor e métodos adequados
}

4. Strings como substitutas para recursos (Exemplo: variáveis locais da thread):

O uso de strings para identificar recursos como variáveis locais de thread pode levar a problemas de segurança e colisões de nomes. Substitua por chaves mais seguras.

Exemplo incorreto (uso de string para identificar variável local da thread):

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

Exemplo correto (uso de uma chave segura):

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

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

Uso correto de ThreadLocal:

O design ideal para variáveis locais de thread envolve a utilização de ThreadLocal, que permite a criação de variáveis associadas a cada thread de maneira typesafe.

Exemplo de uso correto 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
}

Conclusão:

Evite a tentação de usar strings para tudo. Usar tipos de dados mais apropriados ou criar novos tipos evita erros, melhora a legibilidade e torna o código mais eficiente e seguro.

Exemplos do livro:

Item  Evite as strings onde outros tipos forem mais adequados

Item  Evite as strings onde outros tipos forem mais adequados

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/giselecoder/item-62-evite-as-strings-onde-outros-tipos-forem-mais-adequados-2o63?1 Caso haja alguma infração, entre em contato com study_golang @163.com excluir
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3