모종닷컴

코딩 설계가 너무 어려워요 본문

생각정리

코딩 설계가 너무 어려워요

모종 2022. 8. 21. 00:19
반응형

21년 하반기에 대한 PDR 리뷰

리뷰

올해 초 PDR(Performance Development Review)을 진행했었다. PDR이 뭔지 간단하게 설명드리자면 작년 하반기 동안 설정했던 계획(프로젝트)이나 목표 등을 달성하기 위해 노력했던 점이나 과정, 회고 등을 써놓고 이를 통해 팀과 함께 리뷰하는 자리를 가지는 것이다. 나는 이 PDR을 통해 여러 가지 좋았던 점, 아쉬웠던 점을 들을 수 있었다. 사람이 너무 신기한 게 좋았던 점도 분명히 많이 들었지만 잘 기억이 나지 않고 ㅋㅋㅋ 아쉬웠던 점은 너무 기억이 잘 난다 ㅋㅋ 그중 스스로 회고하면서도 아쉽다고 생각했던 부분이 있었는데 그 부분이 팀원들이 말해준 아쉬운 점에도 포함이 되어있는 부분이 있었다. 

설계에 대한 아쉬움

스스로도 느끼고 있었던 부분인데 설계하는 게 참 어려웠던 것 같다. 만들다 보면 이 클래스가 엄청나게 많은 책임을 지고 있거나 관련된 중복된 로직이 여러 곳에 산재되어 있어 놓치면서 버그가 발생하기도 했다. 다른 클래스의 변화에 쉽게 영향을 받기도 하고, 불필요한 의존성들이 쌓이기도 했다. 클래스가 명확하지 않다 보니 관련 코드를 다른 팀원들이 파악하기도 힘들었을 것 같다는 생각이 든다. (지송합니다..)

어떻게 해야 설계를 잘할 수 있을까?

고민이 정말 많았다. "설계 잘하는 법" 뭐 이런 책이 있는 것도 아니었기에 곤란했다. 만일 이런 설계 관련 책이 있었고 그걸 읽었다고 가정해도 지금 생각해보면 도움이 많이 되지는 않았을 것 같기도 하다. 어떻게 할지 고민하던 찰나 일단 기본에 집중해볼까라는 생각이 들었다. 내가 지금 다루고 있는 자바, 코틀린은 객체지향 언어이다. 그래서 이 객체지향에 대한 이해를 다시 공부해보자라는 생각이 들었다. 좋아 보였던 책들도 많았던 것 같은데 직장인에게 시간은 금! 출퇴근 시간에 간단하게 정리해서 볼 수 있는 온라인 강의를 듣기로 결정하였다. 그리고 인프런에서 여러 강의들을 찾기 시작했고 몇 가지를 결제하였다. 

코딩으로 학습하는 GoF의 디자인 패턴

코딩으로 학습하는 GoF의 디자인 패턴 

 

코딩으로 학습하는 GoF의 디자인 패턴 - 인프런 | 강의

디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할

www.inflearn.com

 

아주 예전에도 디자인 패턴을 공부한 적이 있기는 했지만 위 강의가 좋았던 점은 예시 상황 및 패턴 적용 전 코드를 보여준다. 그리고 문제점을 파악한 후 이러한 상황을 패턴을 적용해 다시 리팩토링 해나가는 과정을 볼 수 있었다. 이 강의에 직접적으로 객체 설계에 대한 내용이 담겨있지는 않지만 예시 코드를 보고 중간중간 객체지향 원칙들을 섞어가면서 설명을 해주시는데 그런 부분들에서 많은 것들을 얻을 수 있었다. 또한 패턴에 대한 이해가 생기면서 이전에 짰던 코드들을 패턴을 적용해보면서 리팩토링 해볼수도 있었다. 


코딩으로 학습하는 리팩토링

코딩으로 학습하는 리팩토링

 

코딩으로 학습하는 리팩토링 - 인프런 | 강의

리팩토링은 소프트웨어 엔지니어가 갖춰야 할 기본적인 소양 중 하나입니다. 이 강의는 인텔리J와 자바를 사용하여 보다 실용적인 방법으로 다양한 코드의 냄새와 리팩토링 기술을 설명하고 직

www.inflearn.com

이 강의는 결제한 지 꽤 되었지만 아직 전부 다 보지는 못했고 80퍼센트 정도 들었다. 그래도 꾸준히 출근하는 날이면 2~3개씩 강의를 보면서 간다. 이 강의가 좋았던 부분은 코드를 잘 정리할 수 있다는 것이었다. 기존 코드를 적절하게 리팩토링하여 가시성 있게 만들어 놓고 객체를 다시 바라보면 보이는 것들이 있다. 어라? 이 로직이 이 클래스에 있는 게 맞나? 이 코드들이 많이 중복되는데 이 중복되는 로직들이 객체로 만들어져야 하는 게 아닐까? 등이 보이기 시작한다. 

22년 상반기에 대한 PDR 리뷰

PDR 리뷰 시간이 돌아왔다. 1분기 2분기 동안 여러 프로젝트들을 진행했다. 그리고 팀원들로부터 해당 프로젝트들에서 설계가 많이 좋아졌음을 평가받았다!

그동안 꾸준히 강의를 보았고 고민들을 정말 많이 해왔었는데 좋아졌다는 평가를 들으니 너무 기분이 좋았다. 이미 다 본 강의도 있지만 다시 볼 때마다 느끼는 것들이 있는데, 앞으로도 틈틈이 위 강의들을 다시 정주행 해봐야겠다. 그나저나 이번 리뷰 때 받은 아쉬웠던 점들이 있는데 이것도 고민 열심히 해보고 하반기 리뷰 때까지 잘 고쳐나가도록 해야겠다 ㅠㅠ

반응형

'생각정리' 카테고리의 다른 글

D.D.C'23 - Dev Day  (0) 2023.01.29
2022년도 개인 회고  (0) 2023.01.01
스프링 트랜잭션 범위 생각해보기  (0) 2022.07.26
실수하면 뭐 어떻습니까?  (2) 2022.07.18