다른 개발자로부터 인계받은 프로그램에서 다음 조건을 발견했습니다.
if (obj.Performance <= LOW_PERFORMANCE)
{
obj.NeedsChange = true;
}
else
{
obj.NeedsChange = false;
}
나는이 코드가 중복적이고 추악하다고 생각하므로 비교를 기반으로 간단한 부울 할당이라고 생각한 것으로 변경했습니다.
obj.NeedsChange = obj.Performance <= LOW_PERFORMANCE;
이것을 보았을 때, 내 코드를 검토 한 사람은 변경 사항이 기능적으로 정확하지만 다른 사람이 혼란스럽게 할 수 있다고 언급했습니다. 그는 삼항 연산자를 사용하면이 할당을보다 명확하게 할 수 있지만 더 많은 중복 코드를 추가하는 것을 좋아하지 않습니다.
obj.NeedsChange = (obj.Performance <= LOW_PERFORMANCE) ? true : false;
그의 추론은 다른 개발자가 당신이 한 일을 정확히 멈추고 퍼즐을 풀어야하는 경우 가장 간결한 방식으로 무언가를하는 것이 가치가 없다는 것입니다.
여기서 실제 질문은 부울에 값을 할당하는이 세 가지 방법 중 obj.NeedsChange
가장 명확하고 유지 관리가 가능한 방법은 무엇입니까?