Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: constant, readability, maintenance

Проблемы "волшебных чисел" и их устранение

Тестирует понимание читаемости кода и поддержки констант.

Короткий ответ

"Волшебные числа" (например, 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;
    	}
}

Правила:

  1. Константы именуйте в UPPER_CASE.

  2. Добавляйте JavaDoc для пояснения:

    /** 
     * Минимальное количество книг для признания автора популярным.
     */
  3. Для сложных сценариев используйте enum или конфигурационные файлы.

Вывод: Всегда выносите числа/строки с бизнес-логикой в константы.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Java

    Java

Ключевые слова

#constant

#readability

#maintenance

Подпишись на Java Developer в телеграм