ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 삼항연산자 언제 어떻게 써야할까?
    프로그래밍 2023. 4. 28. 12:02
    반응형

     

    훌룡한 프로그래머 되는 법

    예전에 읽었던 [훌룡한 프로그래머 되는 법]이란 책에서 이런 질문이 나온다.

    삼항 연산자 같은 표현은 읽기 쉽게 만드는가? 아니면 여렵게 만드는가? 그 이유는 무엇인가?

    당시 나는 간결한 코드(가독성 측면)를 위해 사용하는 것이 좋다고 생각했었다.


    생각해보기

    성적 판별 함수를 IF문과 삼항연산자를 활용해서 작성했다.

    public boolean isPass(int score){
      if( score >= 60 ){
        return true;
      }
      return false;
    }
    public boolean isPass(int score){
      return score >= 60 ? true : false;
    }

    위 상황에서 어떤게 더 좋은 코드인가? 이런 고민을 하는 것이 낭비일 수 있다. 굳이 뽑자면 삼항연산자가 더 간결하다 생각한다.

     

    public String calcGrade(int score){                
      return score >= 90 ? "A" : score >= 80 ? "B" : score >= 70 ? "C" : score >= 60 ? "D" : "F" ;
    }
    public String calcGrade(int score){        
      if( score >= 90 ){
        return "A";
      } else if( score >= 80 ){
        return "B";
      } else if( score >= 70 ){
        return "C";
      } else if( score >= 60 ){
        return "D";
      } 
      return "F";
    }

    위 상황에서는 어떤게 더 좋은 코드인가? 첫 예시와 상황이 조금 바뀌었다. 조건문이 어러번 중첩되니 IF문이 더 간결하게 보인다.


    마무리

    코드에 정답은 없다. 상황에 따라 바뀌고 함께 업무하는 팀원의 성향마다 선호하는 코딩 스타일이 다르기 때문이다. 하지만 정답에 가까운 방법은 존재한다. 그것은 소속된 팀의 코드 가이드가 존재한다면 가이드에 따라 작성하는게 가장 현명한 방법이다.

    댓글