부울 메소드는 항상 부정적인 형태로만 사용될 때에도 항상 긍정적 인 형태를 취해야합니까?
엔티티를 작성하기 전에 엔티티가 존재하는지 확인하고 싶다고 가정하십시오. 내 주장은 메소드가 긍정적 인 형식으로 사용되는지 여부에 관계없이 아래의 첫 번째 양식이 두 번째 양식보다 낫다는 것입니다.
요약하면, if(!affirmative)
보다 읽기 쉽습니다 if(negative)
. 의견에 동의하지 않는 동료가 있습니까?
첫 번째 형태 :
int entity_id = 42;
if(!entity_exists(entity_id)) create_entity(entity_id);
두 번째 형태 :
int entity_id = 42;
if(entity_not_exist(entity_id)) create_entity(entity_id);
!
문자를 너무 많이 그리워서 다시 읽을 때까지 코드를 잘못 이해하게되었습니다. 아마 나는 당신의 동료와 더 동의 할 것입니다. 검사 할 때 참으로 평가되는 양식이 마음에 듭니다.
if (!exists) create()
스레드 안전하지 않은 경향이 있기 때문에 많은 언어 / 프레임 워크에서 나쁜 습관으로 보일 수 있다고 말하고 싶었습니다 . 일반적으로 선호되는 방법은 create()
엔터티가 이미 존재한다는 특정 예외 또는 반환 코드 를 호출 하고 처리하는 것입니다. 이것은 물론 실제 질문에 대한 답변이 아닙니다 (이것은 주석 일뿐입니다).
if (not entity_exists(entity_id))