Ответ
Читаю книги для углубления знаний в Java и инженерии программного обеспечения. Вот ключевые из них:
- "Effective Java" (Джошуа Блох): Сборник лучших практик и идиом Java. Обязательна для понимания, как писать корректный, эффективный и поддерживаемый код.
- "Java Concurrency in Practice" (Брайан Гетц и др.): Исчерпывающее руководство по многопоточности и параллелизму в Java.
- "Clean Code" (Роберт Мартин): Основы написания читаемого и хорошо структурированного кода.
Пример принципа из "Effective Java":
// Предпочитать интерфейсы конкретным реализациям для гибкости
List<String> names = new ArrayList<>(); // Хорошо: код зависит от интерфейса
ArrayList<String> names = new ArrayList<>(); // Плохо: код завязан на конкретный класс
Сочетание изучения литературы с практикой позволяет формировать глубокое понимание принципов, а не просто синтаксиса.