이 스타일의 switch 문을 if else 문으로 변경해야하는 곳이 궁금합니다.이 switch 문에 코드 냄새가 있습니까?
switch (foo) // foo is an enumerated type
{
case barOne:
if (blahOne)
{
DoFunction(//parameters specific to barOne);
break;
}
case barTwo:
if (blahTwo)
{
DoFunction(//parameters specific to barTwo);
break;
}
//etc.
default:
// Whatever happens if none of the case's conditionals are met
}
경우 중 하나에 대한 조건이 충족되지 않으면 기본적으로 폴드 스루가 발생합니다. 사례는 매우 유사하며, 점검해야 할 항목과 전달해야하는 항목이 다르기 때문에 switch 문을 사용했습니다. if
else if
를 사용하는
더 나은 것입니까? 그렇지 않으면 체류하기에 충분한 지 알 수 있습니까? 그렇지만 그 타당성에 대한 의견을 말하기에는 불분명합니까? 다형성은 항상 선택 사항이지만 나에게는 과도한 것처럼 보입니다./다른 K & R이 참조하는 경우
이 당신은 내가 일반적으로 그것 때문에 얼마나 추한의 가장 간단한 표현을 제외하고 원을 피하기 –
삼항 쓸 수 있습니다. – Anonymous
두 개의 선택 뒤에 // 등을 적어 두십시오 – yodie