switch식 (expression)
C# 8.0부터 지원하는 방식으로, 기존 switch문의 case 부분을 간결하게 표현한 것으로, (패턴/값) ⇒ 수식처럼 표현하는 방식.
Func<float, float, float> operation = modifier.statsChangeType switch
{
StatsChangeType.Add => (current, change) => current + change,
StatsChangeType.Multiple => (current, change) => current * change,
_ => (current, change) => change,
};
C#에서 switch 식은 간결하고 가독성 높은 코드를 작성하는 데 유용하다. 하지만 과도하게 사용하지 말고 적당히 사용하라는 권고가 있다. 그 이유는 다음과 같다:
- 복잡성 증가: 너무 많은 조건을 switch 식에 넣으면 코드가 복잡해지고 읽기 어려워질 수 있다. 특히, 조건이 많거나 복잡한 로직을 처리할 때는 switch 식 대신 더 명확한 구조를 사용하는 것이 좋다.
- 디버깅 어려움: switch 식 내부에서 발생하는 오류를 디버깅하기가 일반 switch 문보다 어려울 수 있다. 디버깅 시점에서 각 조건에 대한 정확한 상태를 추적하기 힘들 수 있다.
- 유연성 부족: switch 식은 단순한 조건 분기에 적합하지만, 복잡한 로직이나 여러 단계를 포함하는 조건을 처리하는 데는 한계가 있다. 이런 경우는 별도의 메소드나 클래스를 사용하는 것이 더 적절하다.
- 유지보수 어려움: 조건이 추가되거나 변경될 때 switch 식이 길어지면 유지보수가 어려워질 수 있다. 새로운 조건을 추가하거나 기존 조건을 변경할 때 코드의 가독성이 떨어질 수 있다.
- 성능 문제: 대부분의 경우 성능 차이는 미미하지만, 매우 많은 조건이 있는 경우 성능 이슈가 발생할 수 있다. 특히, 복잡한 로직을 포함하는 경우는 switch 식보다는 다른 방법이 더 효율적일 수 있다.
따라서 switch 식은 간단하고 명확한 조건 분기를 처리할 때 유용하게 사용할 수 있지만, 복잡한 로직이나 많은 조건을 다룰 때는 다른 방법을 고려하는 것이 좋다. 적절한 사용을 통해 코드의 가독성과 유지보수성을 높일 수 있다.
반응형
'스파르타 게임개발종합반(Unity) > TIL - 본캠프 매일 공부 기록' 카테고리의 다른 글
2024.06.19 TIL - 기초적인 네트워크 지식 (0) | 2024.06.19 |
---|---|
2024.06.18 TIL - 코루틴(Coroutine) (0) | 2024.06.18 |
2024.06.14 TIL - UGUI(Unity's User Interface) (0) | 2024.06.14 |
2024.06.13 TIL - SoundMnager(사운드 컨트롤) (0) | 2024.06.13 |
2024.06.12 TIL - 파티클 시스템(Particle System), 애니메이션 이벤트(Animation Events) (0) | 2024.06.12 |
댓글