클린코드 2

클린코드로 프로젝트 리팩토링하기 (DRY 원칙, SRP, 가독성)

프로젝트 리팩토링을 진행하였습니다! 미래의 나에게 큰 고통을 주면 안되기에.... 편한 유지보수를 위해서, 가독성 높은 코드를 작성하기 위해서 MVP 개발이 완료된 지금 시점에서 리팩토링을 진행하는 것이 맞다고 생각하였다. 중복되는 코드를 리팩토링한 사례를 바탕으로 설명하자면, 우리 서비스는 모임이라는 그룹이 존재한다.계정 자체의 권한은 JWT로 관리하여 @Secured 어노테이션으로 권한을 체크 하지만,모임 유저의 권한 체크는 따로 로직을 구현해야 해서 아래와 같은 코드가 존재한다.//권한을 체크 (feignClient)if(!roleCheckClient.checkRole(organizationId,userTrackingId,roles).getData()){ log.info("권한 체크 결과는 ..

Back-End/JavaSpring 2025.04.28

전략 패턴 (Strategy Pattern)

1차적으로 프로젝트 MVP 개발을 마무리하고, 리팩토링 작업에 들어갔다. 작성했던 코드를 다시한번 살펴보는데 머리가 아파오기 시작했다. 짧은 기간동안 MVP 개발에만 집중했던 탓인지 가독성이 떨어지고, 중복되는 코드가 많고, 네이밍 규칙도 존재하지 않는 등 많은 문제가 보이는 내 코드들을 보니 마음이 아파왔다. 그래서 코드의 효율성과 가독성을 위해서 리팩토링을 하기로 마음먹었다. 문제점 발견 코드를 보다보니 내 눈에 들어온 것은 미래를 생각하지 않은 if문 사용이었다. //댓글 달기 public void commentService(CommentRequestDTO commentRequestDTO, CustomUserDetails customUserDetails){ String postId = c..

CS/디자인패턴 2025.04.24
728x90