Тестирует понимание читаемости кода и поддержки констант.
"Волшебные числа" (например, if (books > 1000)) усложняют понимание кода и изменение логики. Их нужно заменять на именованные константы с комментариями.
Проблемы:
Неочевидность: Что означает 1000? Максимальное количество? Порог популярности?
Риск ошибок: Если число используется в нескольких местах, изменение требует поиска всех упоминаний.
Сложность тестирования: Неясно, как тестировать граничные значения.
Решение:
public class AuthorService {
private static final int POPULAR_BOOKS_THRESHOLD = 1000; // Порог популярности автора
public boolean isPopular(Author author) {
return author.getBooks().size() > POPULAR_BOOKS_THRESHOLD;
}
}Правила:
Константы именуйте в UPPER_CASE.
Добавляйте JavaDoc для пояснения:
/**
* Минимальное количество книг для признания автора популярным.
*/Для сложных сценариев используйте enum или конфигурационные файлы.
Вывод: Всегда выносите числа/строки с бизнес-логикой в константы.