코드 리팩토링 2

코드 리팩토링

팀 프로젝트에서 기능적인 완성도는 어느정도 끝이 보인다. 하지만 여전히 해야할 일은 많았고 작성한 코드를 보며 부족하다 느낀 부분이 많았다. 코드의 효율이나 안정성 및 테스트에 관한 부분이었고 자연스레 리팩토링을 생각하게 되었다. 처음에는 코드의 가독성과 유지 보수의 용이함에 신경써 아래의 코드를 수정할 수 있었다. 상황 회원 정보를 수정할 때 중복된 코드가 많아 코드가 길어지고 가독성 떨어짐. 문제 모든 값들에대해 if 조건문을 사용해 null체크. 각각의 조건문 안에서 변수를 set 하기에 변수명이 바뀌거나 추가적인 수정 상황이 발생할 때 유지 보수가 어려움. 해결 방법 클라이언트에서 dto로 전체 값을 받아와 개별 값들에대해 체크하는 로직을 없앴다. dto 전체를 한번에 체크해 user를 업데이트하..

TIL 2023.05.01

Redis의 문제점

프로젝트를 진행하고 약 3주의 시간이 지났다. 3주동안 프로젝트 설계와 mvc 개발을 진행했고 오류의 범위를 좁히고자 최대한 명확한 코드를 작성하기로 했었다. 예를 들어 중복검사와 같은 기능이 필요하다면 jpa를 사용한 find가 아닌 exist를 사용해 boolean 값으로 반환시켜 해당 코드를 작성하지 않은 팀원도 알기 쉽게 하였다. 그리고 변수명과 함수명을 지으며 많은 고민을 했던 것 같다. 약 3주의 시간이 이렇게 지나고 멘토님과 중간 발표 시간이 있었고 사전 질문으로 아래와 같은 질문을 받았다. --- 질문 --- Redis는 메모리 DB라서 서버가 리부팅되면 모든 데이터가 삭제됩니다. 이런 관점에서 서버를 리부팅해야 할 일이 발생했을 때 인기 검색어가 노출되지 않을 수 있을 것 같은데요. 어떻..

TIL 2023.04.25