ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 enum을 활용하여 if문 줄이기
    Java(자바) 2016. 5. 14. 18:36

    이글은 enum에 대해 설명하기 위해 작성하는 것이 아니다.

    단지 리팩토링에 관심이 있거나 성능 및 가독성에 신경을 많이 쓰는 사람만 보도록하자.

    그렇다고 대단한걸 설명할려는 것이 아니다.

    (예전에 공부를 하다가 알게된 사항을 시간이 지나 실무에서 사용할려고 하니 까먹어서 정리하는것임을 알아주기 바란다.)


    필자는.. 실무에서 특정 테이블의 컬럼의 데이터 구분값이 숫자( ex -> 1,2,3), 알파벳(ex-> p,s)에 따라 쿼리가 달라진다든지 값을 동적으로 바꿀때

    불편함을 많이 겪었다.. 특히 레거시 코드를 수정할때 가독성도 떨어지고 DBA에게 가서 데이터 구분 값이 무엇을 의미하는지 물어보는 시간이 많아 졌었다.


    자.. 말이 길어 졌으니 사용 방법을 보도록 하자 (응용은 항상 여러분 몫임을 잊지말자)




    1번을 사용하게 되면 2번과 같이 내부적으로 오버라이드 하게 된다.


    마지막으로 이용하는 방법이다.


    위의 같은 방법을 사용하지 않았을때에는 

    필자는 항상 이런 코드를 보고 있었다...


    String dataType = request.getParameter("testData");

    String query = null;

    if("P".equals(dataType)) {

    query = "a.id = b.id and use_type = ? ";

    } else if("a".equals(dataType)) {

    query = "a.id = c.id and reg_date = "";

    } else if() ......... 생략 ....




Designed by Tistory.