2014-01-22 3 views
-4

가끔 이없는 코드 if/else if-blocks에서 볼 수 있습니다. else-block는 의미 if 또는 if/else-if-blocks에 속하기 때문에 제 생각에는if - else 블록이없는 경우

if(..) { 
    .. 
} else if(..) { 
    .. 
} 

이 좋은 스타일 아니다!

예를 들어 열거 형을 사용하는 경우 else-block을 명시 적으로 주석 처리하여 실행시기를 명확히해야합니다. 또한 기본적으로 충돌 프로그램을 만들지 않고 다른 유스 케이스에 대한 열거 형 등을 확장 할 수 있습니다 (새로운 추가 값에 대해서는 기본적으로 else-block이 실행되지 않습니다).

이제는이 스타일을 끝으로 else-block 대신 사용하는 다른 PRO 또는 CON에 대한 의견을 남깁니다.

Greets!

+5

'if'만 보았을 때 놀라지 않을까요? 여기에 스타일이 없습니다. 당신은 당신이 필요로하는 것을 사용합니다. –

+3

필요없는 경우 왜 빈 else 블록을 유지해야합니까? – Devolus

+0

원한다면'else {}'를 끝에 넣을 수는 있지만 누구나 그 스타일을 사용하는 것은 의심 스럽습니다. 대신에'switch'를 쓰지 않으시겠습니까? 다른 케이스를 다루고 싶지 않으면 스위치에 빈 기본 라벨을 두는 것이 일반적입니다. – Brandin

답변

2

이것은 장단점이 아닙니다. 그것은 당신이해야 할 일의 문제입니다. "값이 0보다 작 으면 0"으로 설정하십시오. 이를 수행하는 데 필요한 코드는 다음과 같습니다. -

if (value <0) 
    value = 0 

else 블록이 필요하지 않습니다.

0

제 의견입니다.

대부분의 경우 없이 블록 if()을 사용하려고합니다. 때로는 else이 필요합니다. 아주 가끔 if/else if이 필요합니다.

왜? 너 스스로 이유를 설명해 줬어. 열거 형의 경우 BTW는 if/else이나 switch/case을 사용하면 안됩니다. 더 나은 puttern은 열거 형 멤버마다 비즈니스 메서드를 열거 형으로 개별적으로 구현 한 다음 사용하는 것입니다.

일반적으로 공장 다형성 솔루션을 제외하고 if/else 구조를 사용하려는 경우 좋습니다.

관련 문제