private readonly Dictionary<string, Action> commandMap = new()

{

    ["Jump"] = Jump,

    ["Run"] = Run,

    ["Attack"] = Attack,

    ["Defend"] = Defend

};


public void ExecuteAction(string command)

{

    if (commandMap.TryGetValue(command, out var action))

        action();

    else

        Console.WriteLine("Unknown command.");

}


그래서 이런식으로 딕셔너리 매핑한후에 


O(N)에서 O(1)으로 줄임


그리고 스위치 길어지면 전략패턴으로 전환하고


if else문 3중첩 이상으로 가면 코드가 가독성이 떨어짐


막상 코드 품질 중요시한다는 놈이 빅오 생각 안하는거니까