2017-10-13 1 views
1

충족 조건을 확인하는 방법은 두 가지가 있습니다 :이 조건 패턴의 이름이 있습니까?

간단한 방법은 조건을 가진 if을 사용
  • :

    if (condition) 
    { 
        /* execute code */ 
    } 
    
  • 다른 방법은 비슷하지만, 나는 부정 확인 조건이있는 경우 return이 주어진다 :

    if (!condition) 
    { 
        return; 
    } 
    /* execute code */ 
    
,

이 패턴의 이름이 있습니까? 나는 googleing하려고했지만 성공하지 못했습니다 ...

+0

"문"- [if-else (C# 참조)] (https://docs.microsoft. – Fabio

+0

이름이 있는지 모르겠지만 권장 사항의이 부분을 너무 많은 중첩 수준을 피하기 위해 고려합니다. 코드 블록. 위에서 설명한 두 번째 형식을 사용하면'/ * execute code * /'내부의 다른 블록을 더 이상 중첩하지 않아도됩니다. 그리고 코드를 중첩하는 것이 적을수록 (적어도 내 의견으로는) 누군가가 코드를 더 쉽게 이해할 수 있습니다. – Discoverer98

답변

2

나는이 패턴이 early exit라고 믿습니다.

1

그는 패턴을 일반적으로 불리는 것으로 믿기 때문에 그가 조사 할 수있게 해달라고 요청했습니다. 그것들을 조건 논리라고 부릅니다. 그래서 만약 당신이 구글 조건부 논리 패턴 ... 구글에 대한 많은 반응이 있습니다.

1

자주 사용합니다. 그러나 그것이 정말로 이름을 가지고 있는지 나는 모른다.
나는 이것을 fail-fast의 파생물로 생각합니다.
처음에는 명목상의 사례를 격리하고 명목상의/고전적인 경우를 그대로 두어 가독성을 향상시킵니다.

1

이전 답변이 좋았지 만 패턴의 이름이 더 정확합니다. 다른 이름을 먼저 검토해 보겠습니다.

  • 두 예제는 그래서 그 이름이 정말 우리가 마이너스 수익률에서 긍정적 인 실행을 구별 도움이되지 않습니다 조건부 논리 있습니다.
  • 음수 반환은 초기 출구 인 을 구성하지만 조기 종료를 달성하는 다른 방법이 있기 때문에이 이름은이 예와 관련이 없습니다.
  • 부정적인 반환은 fail-fast 일 수 있지만 return이 반드시 실패하는지 여부는 논란의 여지가 있습니다. 예외를 throw하는 것이 fail-fast의 더 좋은 예이며 초기 이탈을 구성합니다.

부정 반송은 더 정확하게는 guard clause이며, 이는 refactoring 패턴입니다.

0

나는 야생에서 두 번째 패턴 (return 문을 가진 하나)

  • 반환 초기 패턴
  • 가드 조항 패턴
  • 경비원 패턴
에 대해 여러 이름을 보았다

일반적으로 코드에서 중첩 수준 수를 줄이는 데 사용되며 가독성을 높이는 데 도움이됩니다.

관련 문제