2013-08-02 2 views
3

나는 자바 프로그램에 대한 일부 유지 보수 작업을 할당이 발견 오전 :이 부울 세터는 무엇을 의미합니까?

public void setActiveCode(boolean isActiveCode) { 
    this.isActiveCode = isActiveCode & Boolean.TRUE; 
} 

this.isActiveCode의 유형은 boolean이며, 동일한 개념은 클래스의 모든 부울 세터 반복됩니다. 왜 이런 식으로 끝났는지 알 수 없으며 원래 개발자에게 물어볼 수 없습니다.

이렇게하는 이유는 무엇입니까?

+6

나는 확실히 생각할 수 없다. 나에게 [화물 숭배 프로그래밍] (http://en.wikipedia.org/wiki/Cargo_cult_programming)의 대표적인 예처럼 보입니다. –

+0

아니요. 이것은 모든 프로그래머가 Morgan의 법칙을 외워야한다는 제 이론을지지합니다. 운영자 우선 순위 및 몇 가지 다른 기본적인 사항은 말할 것도 없습니다. – EJP

+0

특히 이상한 것은 하나의'&'는 비트 연산자이고, 일반적인'boolean' 연산자'&&'가 아니라 단순히'true' 대신'Boolean.TRUE'를 사용한다는 것입니다. – jpmc26

답변

9

이렇게하는 이유는 무엇입니까?

호이 (그리고 틀림없이 여기부터 명확성의 손실은 당신이 모든에 대해 무엇을 궁금해하는) 선명도 제로 이득 단지 자세한 코드입니다.

그것은 불행하게도 당신이 때때로 야생에서 볼 수

public boolean isTrue(boolean b) { 
    if(b == true) { 
     return true; 
    } 
    else { 
     return false; 
    } 
} 

생각 나게한다. 너무 슬퍼.

+5

그냥 가지고 있었다 : http://i.imgur.com/1Dd3KLS.png –

1

이상한. 부울은 논리적 인 &과 함께 사용할 수 있지만 a & true = a이므로 쓸모가 없습니다. 개발자 전용 OCD 인 것으로 보입니다.