'if-else' 보다는 'if-if'. 코드 가독성의 중요성

개발 과정에서 조건문은 필수적인 도구입니다. 그 중에서도 'if'와 'else'는 아주 빈번하게 사용되는데요. 소개해드리는 게시물은 조건문의 사용에 있어서 'if'문 다음에 'else'문을 사용하는 것보다는 'else'문을 사용하지 않는것이 더 바람직하다고 소개하고 있습니다. 이렇게 제안하는 까닭은 가독성 문제 때문인데요. 'if'문은 해당 조건의 의미를 명확하게 파악할 수 있으나, 'else'문은 직관적으로 이해하기가 어렵습니다. 따라서 그 대안으로 'if-else' 구조를 피하고 두 개의 'if'문을 사용하여 각 조건을 분명히 명시하고, 각각 리턴을 시켜주는 것으로 코드를 명확하게 작성할 수 있습니다. 코드의 가독성은 매우 중요한 요소입니다. 유명한 저서 '클린코드' 에서도 코드의 가독성에 대한 중요성을 강조하고 있습니다. 좋은 코드는 그 자체로 문서의 역할을 할 수 있도록 가독성을 최우선으로 고려하여 작성해야 합니다. 협업하는 개발자들에게 명료하고 이해하기 쉬운 코드를 제공하여, 더욱 원활한 팀워크를 위한 기반을 마련해보세요 https://velog.io/@joch2712/Else-%EC%93%B0%EC%A7%80-%EB%A7%88%EC%84%B8%EC%9A%94

Else 쓰지 마세요

velog.io

Else 쓰지 마세요

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 8월 6일 오전 12:26

 • 

저장 205조회 11,928

댓글 13

  • early return 패턴이죠

    @은 공간합니다. 얼리리턴을 지향하는 내용에 가까울것 같아요.

  • 일반적인 경우에서 if else를 if if로 바꿔서 쓰자는 얘기는 아닌거 같습니다. 그래서도 안되고요 "예외case에 대해서 독립된 if문으로 분리해서 처리하자" 라는게 더 내용을 잘 설명할 것 같습니다. 현업에서도 보통 이렇게 예외 case처리하는 if문을 앞쪽에 쭉 작성하고 정상동작 code는 그 밑에다가 쓰죠. 이렇게 해야 nested if문이 되는걸 막아서 가독성이 좋아지더라고요

    삭제된 사용자

    2023년 08월 08일

    @Jimmy 동감입니다. 무조건 else 가 바람직하지 않다라는 얘기가 아닐것 같은데..

    @Jimmy 저도 이 얘기를 남기려고 댓글쓰기를 눌렀는데 이미 쓰신 분이 있네요:) “else 를 쓰지 않는다” 라는 규칙이 가독성이 좋은 코드에서 가장 대표적인 방법으로 알려지면서 더 짧게 요약하기 위해 마치 “else를 쓰지마라” 로 귀결되는 경향이 있는데, 극단적이지 말아야합니다. 특히 신입 또는 주니어 레벨에서 무조건 안쓰려는 생각을 가지시는 분들이 많아지는 것 같아 주의가 필요해 보여요! 그저 방법 중 하나일 뿐입니다~!

    @Jimmy 쓰지마라 쓰지않는다인데 그 원리를 아는 게 중요합니다. 무지성 안쓰기 말고

  • else보단 guard 문 지향

  • 아키에게 무조건 이라는 말은 무조건 틀린 말이죠

  • 댓글로 많은 의견을 남겨주셔서 감사합니다. 블로그 제목 "Else쓰지 마세요"에 따른, 요약 과정에서 내용이 극단적으로 전달된것 같습니다. nested if문을 최소화 하기 위한 early return의 중요성과, else대신 Guard 문을 우선시하는 접근법을 지향하는 내용에 더 가까운 내용으로 보시면 될 것 같습니다.

  • 'if-else 보다는 if-if 코드 가독성의 중요성'은 오해하기 쉬운 제목인것 같습니다. 어떤 코드를 보면 if-else를 사용하는게 더 가독성이 좋은데 억지로 if-if 를 사용한코드도 보게됩니다. 수백명이 기여하는 라이브러리에 기여하면서 if-else로 된 코드를 굉장히 많이 접하게됩니다. 따라서 상황에따라 if-else가 좋은지 if-if가 좋은지에 또는 guard문 지향하기 등 오해할 요소가 적은 제목으로 글을쓰는게 더 좋을 것 같습니다. 글의 초점이 if-if에만 맞춰져 있는것 같습니다.

    @dom2 맞습니다. 제목이 조금 극단적이라서 오해의 소지가 있었던 것 같습니다. 좋은 지적 감사합니다.

  • If 1==1: Return If 2=2: Return Else가 있는이유는 논리적일대 return을 사용안한다겠죠 If가 switch보다는 가독성이 더 좋죠 대신 저는 switch를 안써요

  • nested if 줄일 수 있는데 않고 어질어질한 코드 작성하는 것을 피하라는 거지, else를 무조건 쓰면 안된다 무조건 가독성이 떨어진다고 하면 말이 안되는 얘기죠.

함께 읽은 게시물


우선순위에 대한 고민

SI,협약기반,셀프 서비스를 하면서 느끼는 커스터머및 장애 이슈대응

... 더 보기

더불어민주당에선 대통령실 비서실장으로 지명된 강훈식 의원이 '경영권과 무관하게 상장사 지분 25% 이상을 확보할 경우 잔여 주식을 모두 공개매수해야 한다'는 내용의 자본시장법 개정안을 지난해 6월 발의했다. 대통령령으로 예외를 두겠다는 단서 조항을 달았지만 사실상 100% 의무공개매수를 도입을 추진하고 있다. 지난 정부가 추진한 '50%+1주 의무공개매수' 대비 한발 더 나간 제도라는 평가가 나온다.

... 더 보기

'100% 의무공개매수' 도입 가능성에 긴장하는 PEF들 [이재명號 출범]

n.news.naver.com

'100% 의무공개매수' 도입 가능성에 긴장하는 PEF들 [이재명號 출범]

< 쿠팡의 창업자를 직접 보며 배운 것: 리더의 크기가 전부다 >

1

... 더 보기

 • 

댓글 1 • 저장 22 • 조회 1,860


서버엔지니어의 시대적 고민

... 더 보기

한때 천만원에 거래되었던 Manus, Bedrock 무료 오픈소스로 공개

... 더 보기

LinkedIn

lnkd.in

LinkedIn

 • 

저장 21 • 조회 1,671