Sobes.tech
Junior — Middle

Welke methoden kunnen worden gebruikt om het aantal conditionele operatoren in de code te verminderen en de leesbaarheid te verbeteren?

sobes.tech AI

Antwoord van AI

Для снижения количества условных операторов (if/else, switch) и повышения читаемости кода в Java можно использовать следующие подходы:

  • Полиморфизм и наследование: вместо проверки типа объекта через условные операторы можно определить общий интерфейс или абстрактный класс и реализовать разные поведения в подклассах.

  • Использование Map для выбора действий: вместо цепочек if-else можно хранить соответствия ключей и функций в Map.

  • Стратегия (Strategy pattern): выделить разные алгоритмы в отдельные классы и выбирать нужный объект стратегии во время выполнения.

  • Использование enum с методами: если условие зависит от фиксированного набора значений, можно определить enum с переопределёнными методами.

  • Функциональные интерфейсы и лямбда-выражения (начиная с Java 8) позволяют упростить код и избавиться от громоздких условий.

Пример с использованием Map и лямбд:

import java.util.Map;
import java.util.function.Consumer;

public class CommandExecutor {
    private Map<String, Runnable> commands = Map.of(
        "start", () -> System.out.println("Starting"),
        "stop", () -> System.out.println("Stopping")
    );

    public void execute(String command) {
        commands.getOrDefault(command, () -> System.out.println("Unknown command")).run();
    }
}

Такой подход делает код более расширяемым и легче поддерживаемым.