부울 플래그는 슬픈 작은 열거형입니다.
4684 단어 typescriptjavascript
true-false
로직 대신 3-상태 로직을 사용할 수 있는 몇 가지 문제를 발견했다고 생각했습니다."잠깐만, 이게 좋은
enum
?"그런 다음 좋은 친구enum
와 함께 갔는데 모두 잘 되었습니다.그리고 지금 나는 다시 생각하고 있습니다. 부울 플래그만큼 대신
enums
로 대체하는 것이 합리적이지 않습니까 (또는 적어도 명명 된 매개 변수를 사용함).이 예를 참조하십시오.
jsonb_set(data, '{user, role}', {
id: 'supervisor',
title: 'Chat group supervisor',
}, false);
이것을 작성할 때 마지막 매개변수의
false
가 무엇인지 여전히 기억하고 있습니다.나는 당신에게 약점을 줄 것이고 당신이 이 기능
jsonb_set
을 자주 사용하지 않는다면 당신은 그것을 기억하지 못할 것입니다.We then waste time on things that could have been very clear.
옵션 1: 열거형 사용
enum JsonbSetOption {
CreateIfDoesNotExist,
ThrowErrorIfDoesNotExist
}
jsonb_set(data, '{user, role}', {
id: 'supervisor',
title: 'Chat group supervisor',
}, JsonbSetOption.ThrowErrorIfDoesNotExist);
기본적으로 누구나 이것이 무엇을 하는지 알 것입니다.
옵션 2: 명명된 매개변수 전달
jsonb_set(data, '{user, role}', {
id: 'supervisor',
title: 'Chat group supervisor',
}, { throwErrorIfDoesNotExist: true });
옵션 3: 두 가지 기능으로 분할
jsonb_set_throw_on_update_path_missing(
data,
'{user, role}',
{
id: 'supervisor',
title: 'Chat group supervisor',
}
);
어느 쪽을 선택하든 그것은 당신에게 달려 있습니다. 임의의 플래그를 사용하지 마십시오.
receiveSalary(you, false, true, true, false, null);
Reference
이 문제에 관하여(부울 플래그는 슬픈 작은 열거형입니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/latobibor/boolean-flags-are-sad-little-enums-1h94텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)