아주 단순하고 조건부 동작을 수행하기 위해 삼항 연산자를 사용했습니다. 잘 작동했지만 IDE (PHPStorm)에서 오류로보고했습니다. 내가 가진 오류 :3 진 연산자의 사용 가능한 사례입니까?
이'void' method 'performAction' result used
내가 사용 된 코드는 이것이다 :
($this->doThis ? $class->performAction() : $class->performDifferentAction());
가 PHPStorm의 오류가 분명히 잘못이다; 나는 어디에서나 void 메쏘드의 결과를 사용하지 않는다. 난 그냥 메서드를 호출하고 그 예상대로 작동합니다. 방금이 삼항 연산자를 짧은 핸드로 사용했습니다.
if($this->doThis)
{
$class->performAction();
}
else
{
$class->performDifferentAction();
}
이 연산자는 3 진 연산자의 유효한 사용법처럼 보입니다. 난독 화되지 않고 읽기 쉽고 짧습니다.
그럼에도 불구하고 설계상의 결함이 있습니까?
유효한 케이스처럼 보이지 않습니다. * 조건부 연산자 *는 어딘가에서 결과를 반환해야합니다. – zerkms
그리고 그 의무는 어디에서 찾을 수 있습니까? – Sherlock
그것은 의무가 아니라 상식입니다. Expression은 정의에 따라 값을 반환해야합니다. 그 라인의 코드 리뷰 작성자라면 - 통과시키지 않을 것입니다. – zerkms