Java Tip: Не перегружайте методы параметрами
Если метод принимает слишком много аргументов, возрастает риск передать значения в неправильном порядке, а код становится сложнее читать и поддерживать.
❌ Плохо:
✅ Лучше сгруппировать связанные данные в отдельный объект:
Такой подход:
• делает сигнатуры методов компактнее
• упрощает расширение модели данных
• снижает вероятность ошибок при вызове
• делает код более понятным и самодокументируемым
Если несколько параметров всегда используются вместе — вероятно, им нужен собственный класс или record.
#Java #Refactoring #CleanCode
👉 Java Portal
Если метод принимает слишком много аргументов, возрастает риск передать значения в неправильном порядке, а код становится сложнее читать и поддерживать.
❌ Плохо:
createUser(firstName, lastName, street, city, zip, country);
✅ Лучше сгруппировать связанные данные в отдельный объект:
createUser(firstName, lastName,
new Address(street, city, zip, country));
Такой подход:
• делает сигнатуры методов компактнее
• упрощает расширение модели данных
• снижает вероятность ошибок при вызове
• делает код более понятным и самодокументируемым
Если несколько параметров всегда используются вместе — вероятно, им нужен собственный класс или record.
#Java #Refactoring #CleanCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Java: Глубокие цепочки вроде
✅
Если
Такой подход читается лучше, чем множество разбросанных
#Java #NullSafety
👉 Java Portal
user → address → city — классическая ловушка для NullPointerException. Вложенные проверки if (x != null) быстро разрастаются, и легко пропустить один из уровней.Optional:findByEmail(email)
.map(User::getAddress)
.map(Address::getCity)
.orElse("unknown");
Если
Optional в API нет, достаточно одной проверки:if (user == null || user.getAddress() == null)
Такой подход читается лучше, чем множество разбросанных
null-проверок, из-за которых сложно понять, какое именно значение может отсутствовать.#Java #NullSafety
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Java Streams:
✅ Полезно при работе со
✅
✅ Отлично подходит для выборки данных или получения первых N значений
#Java #Streams
👉 Java Portal
limit(n) превращает бесконечный поток в конечный.✅ Полезно при работе со
Stream.iterate() / generate() — они могут создавать бесконечные потоки✅
limit(5) означает: «взять первые 5 элементов и остановиться»✅ Отлично подходит для выборки данных или получения первых N значений
#Java #Streams
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
💡 Java I/O: используйте
✅ Отлично подходит для резервных копий:
✅ Используйте
✅ Работает с
#Java #Files
👉 Java Portal
Files.copy(), чтобы скопировать файл одной строкой.✅ Отлично подходит для резервных копий:
data.csv → data.csv.bak✅ Используйте
REPLACE_EXISTING, если целевой файл уже может существовать✅ Работает с
Path, поэтому код переносим между разными ОС#Java #Files
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
💡 Используйте
✅
✅
✅ Передавайте
#Java #Optional
👉 Java Portal
Optional.orElseThrow(), когда отсутствие значения — это ошибка.✅
orElse(null) → NPE возникает позже, далеко от места поиска значения✅
orElseThrow() останавливает выполнение в месте возникновения проблемы и выбрасывает понятное исключение✅ Передавайте
Supplier, чтобы в сообщении было указано, какое именно значение отсутствует#Java #Optional
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Для null-safe проверки равенства лучше использовать
✅
✅
✅ Оба значения
#Java #Objects
👉 Java Portal
Objects.equals(a, b).✅
a.equals(b) выбросит NullPointerException, если a равен null✅
Objects.equals корректно обрабатывает null с обеих сторон✅ Оба значения
null → true; одно значение null → false; иначе вызывается a.equals(b)#Java #Objects
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤣1
Используйте
✅
✅ Оберните компаратор в
✅ Для сортировки по нескольким полям добавляйте
#Java #Comparator
👉 Java Portal
Comparator.nullsFirst() или Comparator.nullsLast(), если ключи сортировки могут быть null.✅
comparing(User::getName) выбросит NullPointerException, если getName() вернёт null.✅ Оберните компаратор в
nullsFirst() или nullsLast(), чтобы явно задать порядок для null.✅ Для сортировки по нескольким полям добавляйте
thenComparing().#Java #Comparator
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2