내가 실무에서 switch문을 사용하려고 하는 이유
실무에서 조건문을 자주 사용하는 경우는 상당히 많을 것이다.
나는 그 중에서도 if문의 사용을 최대한 줄이려고 한다
사용하고 있는 if문이 switch문으로 가능하다면 switch문으로 만들어서 작성을 한다.
그 이유 중 하나는 소스코드의 가독성과 개발툴에서 제공하는 열 편집 기능 때문이다.
우선 if문을 사용하게 되면 소스코드가 그렇게 직관적으로 다가오지 않기 때문인데
아래의 if문을 보자
if(a == 1){
System.out.println("123");
}else if(a == 2){
System.out.println("448848");
}else if(a == 3){
System.out.println("123adfdfdf");
}else if(a == 4){
System.out.println("11");
}
위의 if문을 보면 소스코드로 if문을 직관적으로 이해하기가 생각보다 불편하다.
물론 4가지의 if문만 작성했기에 그렇지 않다고 느낄 수도 있는데 점점 더 경우의 수가 많아지면
읽기가 불편하다고 느낄 것이다.
반면에 switch문을 보자
switch (a){
case 1 : System.out.println("123" ); break;
case 2 : System.out.println("448848" ); break;
case 3 : System.out.println("123adfdfdf" ); break;
case 4 : System.out.println("11" ); break;
case 5 : System.out.println("1" ); break;
case 6 : System.out.println("afdfasdfasdfasdf" ); break;
case 7 : System.out.println("fdf" ); break;
case 8 : System.out.println("aa" ); break;
case 9 : System.out.println("asad" ); break;
}
소스코드가 훨씬더 직관적으로 보인다.
그리고 내가 사용한
System.out.println( ); 구문을 보면
System.out.println("123" ); 이라고 작성하지 않고
System.out.println("123" ); 이런 방식으로 뛰어놓았다.
그 이유는 개발툴에서 제공하는 열편집 기능을 사용하기 위해서이다.
System.out.println(); 매개변수에 작성된 내용들을 전체적으로 편집 할 일이 있다면
아래와 같은 열편집을 통해서 통째로 편집이 가능하다.
break;문을 삭제 할 때도 마찬가지다.
이렇게 열편집을 사용해서 작업을 하면 개발에 상당한 속도를 낼 수 있다.
나도 어느정도 타이핑 속도가 빨라서 타이핑 속도로 어떻게든 해보려고 했지만
타이핑 속도만으로는 단축키의 효율을 따라 갈 수가 없다.
거기다 단축키를 사용하면 작업 할 양이 상당히 줄어들기 때문에 그만큼 손가락이 편하다.
물론 어떤 분야의 개발을 하느냐에 따라 다르겠지만 switch문은 상당히 유용하다.