회고

20220602 TIL #어떻게 하면 더 좋은 코드를...?

paran21 2022. 6. 3. 00:15

우리 프로젝트의 주요 로직들은 구현이 완료되었고, 앞으로 추가되는 부분들도 이미 구현된 기능에서 크게 달라지지 않을 것 같다.

데이터의 종류만 바뀌고 기능은 정말 거의 비슷하다.

 

며칠 전부터 새로 추가되는 엔티티에 따라 기능을 구현하면서 소소하게 메소드명을 수정한다거나 하나의 메소드가 많은 일을 하지 않도록 더 분리하는 등 리펙토링 작업도 병행하고 있지만, 기본적으로 너무 중복되는 코드가 많은 것 같다.

 

나름 처음에 로직들을 구현하면서 팀원들이 코드 중복을 최소화하고 유지보수를 위해 여러 노력들을 했지만

그럼에도 변수 하나, 메소드를 구현하는 구현체가 달라서 새로 작성되는 클래스가 있다.

그렇기 때문에 만약 로직에 수정이 생긴다면 모든 곳에서 수정을 해주어야 하는 상황이다.

 

인터페이스, 상속 등등을 잘 쓰면 더 좋은 방법이 있을 것 구현을 시도했을 때 잘 되지 않는다.

마침 자바의 정석에서 인터페이스 부분을 보고 있어서 도움이 되었다.

또, 최근에 재밌게 본 참고자료가 있는데 함수형 인터페이스로 코드 중복을 줄이는 방법(https://tecoble.techcourse.co.kr/post/2021-11-21-functional-interface-with-lambda/)이다.

 

팀에서 일부 사용한 템플릿메서드 등 디자인패턴도 살펴보면 도움이 될 것 같다.