코드는 불리언과 사용자 정의 'YesNoType' 클래스 사이에 변환하는 함수를 정의합니다. 'YesNoType' 클래스는 기본적으로 문자열로 저장되는 불리언 값을 나타냅니다.
'toYesNo(String)' 함수는 'Y'를 'Yes'로, 다른 값을 'No'로 매핑하여 입력 문자열과 관계없이 항상 'Yes'를 반환하는 불일치성을 초래합니다.
'toYesNo(boolean)' 함수는 불리언에서 직접 'YesNoType'을 구성할 수 없다는 점에서 결점으로 간주됩니다.
'fromYesNo(YesNoType)' 함수는 'YesNoType'이 'Yes'와 일치하는지 확인하고 대소문자 구분 없이 'Yes'를 반환합니다.
'isYesNo(YesNoType)' 함수는 'YesNoType'을 불리언으로 변환하지만 불필요한 지역 변수를 선언하고 간소화할 수 있습니다.
코드의 불리언 대신 사용자 정의 'YesNoType'에 의존하는 것은 의문스러운 설계 선택으로 간주됩니다.
'toYesNo(String)' 함수는 'YesNoType'을 'Y'로 설정할 수 있지만 항상 'Yes'를 반환하여 일관되지 않은 값을 생성합니다.
'toYesNo(boolean)' 함수는 불리언에서 직접 'YesNoType'을 생성할 수 없다는 점에서 주요 단점입니다.
'fromYesNo(YesNoType)' 함수는 적절한 설계에서는 불필요합니다.
전반적으로 코드의 불리언을 문자열 기반 'YesNoType'으로 표현하는 것은 나쁜 설계 결정으로 간주됩니다.
thedailywtf.com
CodeSOD: Yes, No, NO NO NO NO
