참고자료

  • 우아한 테크코스 블로그 [Tecoble] 3기 케빈님의 글 => 링크
  • 작성자의 게시판 프로젝트 커밋 메시지 => 링크 

QueryDSL을 교육기관을 들으면서 사용했던 적이 있습니다.

그때는 너무 바쁘게 적용하고 QueryDSL을 사용하는 이점과 기존 쿼리문을 작성하는 것과의 차이를 정확하게 알지 못했습니다.

그런데 이번에 혼자 게시판 프로젝트를 리팩토링하면서 이유를 알게 되었습니다.

 

 

 

😱 문제가 발생한 부분(위: 수정전, 아래: 수정 후)

 

정말 단순한 쿼리문이지만 잘못 작성해서 문제가 발생했습니다.

 

여기서 큰 문제는 직접 해당 프로그램을 돌려보는 상황에서 문제를 발견 했다는 것입니다.

우선적으로 프로그램을 직접 돌려보면서 버그를 찾고 해결하는것은 상당히 비효율적입니다.

그리고 만약에 로컬에서 돌려보지 않고 그냥 git push를 한다면 해당 버그를 팀원에게 공유 하는 문제를 초래할 수도 있다고 생각했습니다.

 

 

여기서 QueryDSL을 사용하면 자바 코드로 쿼리문을 작성하기 때문에 IDE가 버그를 잡아낼 수 있게 됩니다.

쿼리문을 직접 작성하면 숙련된 프로그래머도 오타가 발생하면 버그가 생기게 된다고 생각합니다.

그런 문제를 거의 완벽하게 잡아 줄 수 있는 이점이 있다고 생각합니다.

 

지금 제가 작성한 쿼리문은 아주 적지만 더 많이 작성한다고 하면 버그가 한개만 생긴다는 보장은 없을 것 같습니다.

 


😀 결론

  • 쿼리DSL을 통해 반복적인 쿼리문에서 나오는 실수를 IDE가 잡아내도록 하자
  • 숙련된 프로그래머도 오타로 인한 버그가 발생하는 경우가 있다고 한다. 이런 문제를 IDE가 잡아내도록 해보자
  • 쿼리DSL을 사용할 수 없는 상황에서 쿼리문에서 버그를 잡아내는 방법을 고안해보자

 

반응형

+ Recent posts