인프런 커뮤니티 질문&답변

정진호님의 프로필 이미지

작성한 질문수

홍정모의 따라하며 배우는 C++

3.9 비트 플래그, 비트 마스크 사용법 Bit flags, Bit masks

if( 5 ) 자주 쓰나요?

해결된 질문

24.02.03 21:06 작성

·

226

·

수정됨

1

안녕하세요, 좋은 강의 잘 듣고 있습니다.

if (items_flag & opt1) 이런식으로 item1이 있는지 없는지 판단하는데,

여기서 if() 안의 표현식이 0이 아닌 값으로 평가되면 true가 나온다는걸 이용하는건 알겠는데요,

이 방식이 현업에서도 많이 쓰이나요?

강의 초반에서도 교수님이 보는 이를 배려하는 코드, 가독성이 좋은 코드를 강조했는데, if() 안의 표현식이 0, 1, 2, 3, 4, 5 ... 등등 으로 평가되는 것보다 깔끔하게 0,1 혹은 true false 로만 평가되는게 가독성 측면에선 더 낫지 않나요?

답변 1

1

Soobak님의 프로필 이미지

2024. 02. 03. 22:56

안녕하세요, 질문&답변 도우미 Soobak 입니다.

 

좋은 궁금증이시네요.

개인적인 생각으로, 코딩 컨벤션은 같이 일하게 되시는 동료들과의 약속이므로, 추후 함께 일하게 되실 조직 구성원들의 약속에 맞추어 사용하는 것이 가장 바람직하다고 생각합니다.

if (items_flag & opt1) 과 같은 표현식은 조건식이 간단하고, items_flagopt1 의 비트 연산 결과가 0 이 아니라면, 즉, 하나 이상의 공통된 비트가 설정되어 있다면 true 로 평가되므로,
변수 사용을 최소화 한다는 점에서의 가독성은 더 좋다고 생각합니다.

하지만, 결국 함께 업무를 진행하실 동료들과의 약속에 맞추어야 하므로,
어떤 형식의 코드이든 잘 이해할 수 있도록 학습하시는 것이 학습 단계에서 가지면 좋은 자세라고 생각합니다.

정진호님의 프로필 이미지
정진호
질문자

2024. 02. 06. 13:14

좋은 답변 남겨주셔서 대단히 감사합니다.