1. Избегайте использования строк вместо других типов данных:
Строки предназначены для представления текста, но часто используются неправильно для представления чисел, перечислений или агрегатных структур.
Если данные имеют числовой характер, используйте такие типы, как int, float или BigInteger, а не String.
String age = "30"; // incorreto int age = 30; // correto
2. Строки являются плохой заменой перечисляемых типов:
Использование перечисления безопаснее и удобнее для чтения, чем использование строк для представления перечисляемых значений.
String status = "ACTIVE"; // incorreto Status status = Status.ACTIVE; // correto, usando enum
3. Строки являются худшей заменой агрегатных типов:
Представление сложных данных в виде одной строки, разделенной разделителями, может привести к ошибкам и проблемам с обслуживанием. Лучше создать классы для этих данных.
Неправильный пример (использование строки для представления агрегированных данных):
String personData = "John|Doe|30";
Правильный пример (использование класса):
class Person { String firstName; String lastName; int age; // Construtor e métodos adequados }
4. Строки вместо ресурсов (пример: локальные переменные потока):
Использование строк для идентификации ресурсов как локальных переменных потока может привести к проблемам безопасности и конфликтам имен. Замените более безопасными ключами.
Неправильный пример (использование строки для идентификации локальной переменной потока):
MapthreadLocalVariables = new HashMap(); threadLocalVariables.put("myVariable", value);
Правильный пример (использование безопасного ключа):
class Key { // implementação da chave } MapthreadLocalVariables = new HashMap(); Key key = new Key(); threadLocalVariables.put(key, value);
Правильное использование ThreadLocal:
Идеальный дизайн локальных переменных потока предполагает использование ThreadLocal, который позволяет создавать переменные, связанные с каждым потоком, типобезопасным способом.
Пример правильного использования 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 }
Заключение:
Избегайте соблазна использовать строки для всего. Использование более подходящих типов данных или создание новых типов предотвращает ошибки, улучшает читаемость и делает код более эффективным и безопасным.
Примеры из книги:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3