[java] if문 줄이기

gnoesnooj·2022년 2월 7일
1

문제점 및 배경

검색 기능을 구현하던 중, if문이 너무 많이 사용되는 것에 불편함을 느끼고, 지금 당장은 글 제목 / 글 내용 / 작성자 3가지의 기능 만을 제공하지만, 해당 방법이 늘어나거나, timotae 프로젝트가 아닌 다른 상황에서의 분기문을 작성할 때 해당 분기가 엄청나게 많은 횟수를 요구 할 경우, 효율성도 떨어진다는 생각을 하게 되어 if문을 다른 방법을 통해서 구현해야겠다고 생각하게 되었다.

처음 코드

사용자가 검색하는 카테고리 type과 검색어 keyword를 입력받아서, 해당 type의 종류에 따라 if 분기를 거쳐서 jpaRepository 메소드를 호출하는 방식으로 구현했다.

위에 서술했듯 , if문이 많아지면 효율성도 떨어지고, 유지보수나 기능의 확장에 있어서 적절한 코드가 아니라고 판단했고, 다른 구현 방법에 대해 생각하게 되었다.

enum 활용


TITLE, CONTENT, USERID를 enum으로 작성하여 각각의 상황에 맞게 jparepository의 메소드를 호출해주도록 enum SearchType를 작성했다.

또한 추상 메소드를 통해서 각각의 기능을 호출하도록 작성하여 다형성과 유지보수의 측면에서도 더욱 편리하고 객체지향적으로 작성하였다.

기존 코드에 비해서 훨씬 간단해졌고, if문의 남발로 인해 난잡했던 이전 코드에 비해 훨씬 더 깔끔한, 좋은 코드가 되었다.

느낀 점

좀 더 코드를 효율적으로, 객체지향 적으로, 좋은 코드가 될 수 있도록 계속 생각하고 고민해야겠다.

profile
누구나 믿을 수 있는 개발자가 되자 !

0개의 댓글