Задать вопрос
@mconer

Как лучше проверять ввод пользователя?

Делаю бота в телеграме на джаве. Чтобы проверять сообщения пользователя на наличие в них команд и отвечать на них, лучше использовать switch case или if или же без разницы?
К примеру:

if (messageText.equals("/start"){
     .........
}

или
switch (messageText) {
    case "/start" -> {
            ........
    }
}
  • Вопрос задан
  • 195 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • Skillfactory
    Профессия Java-разработчик
    14 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
Микропетпроджект - домашнее облако homeCloud
Между этими двумя вариантами - без разницы. Чисто вопрос эстетики.

Но я бы проверял по словарю (Map вроде в джаве)

Map<string, Callback> commands;
commands[messageText].Callback()


Типа такого. Тогда независимо от количества команд вызов всегда в 1 строчку. Ток заполнение будет дольше. но тоже можно автоматизировать
Ответ написан
avleonov97
@avleonov97
Java разработчик
Приветствую! Вы задаёте очень хорошие вопросы)

Если вы стремитесь к профессиональному росту, важно следовать принципам и концепциям разработки программного обеспечения. Например:
  • Конструкцию switch с 1-2 случаями лучше заменять на if-else. Нет смысла использовать такую громоздкую конструкцию для всего двух вариантов.
  • Кроме того, каждый case в switch требует обязательного использования break, return или throw.
  • Также рекомендуется добавлять блок default для обработки неизвестных команд.

В качестве полезного совета: попробуйте подключить плагин SonarQube в вашу среду разработки. В нём есть набор правил (rules), которые покрывают подобные случаи. Это позволит вам получать рекомендации по использованию таких конструкций прямо в IDE.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы