2024-11-19 개발일기 [데이터 오브젝트 구조에 대해서]

회사에서 백엔드코드들을 보다보면 HashMap을 통해 개발해둔걸 많이 봤습니다.

아무래도 시간이 없다보니 그렇게 해둔것 같은데 개인적으로 상당히 안좋아하는 구조입니다.

 

일단 유지보수나 해당 기능을 뽑아다가 써야하는데 쿼리에 의존한 코드이다 보니

사용하기 상당히 어렵고, 이해하기에도 난해한 부분이 너무 많았습니다.

 

단순히 쿼리가 까다로운게 아닌 해당 프로젝트를 하며 필요했던 요구사항에 따라

무언가를 적용시키기 위해 여러가지를 적용해 개발하다 보니 이후 퇴사한 분이 

짜둔걸 보면 정말 어렵더라고요

 

그래서 저는 DTO , DAO를 통해 구조를 설계하는 것을 선호합니다.

한달만 지나도 내가 짠 코드가 기억이 안날때 내가 어떤 데이터를 찾으려고 했었는지

왜 찾았아서 쓸려고했는지를 기억해낼때도 좋고,

 

가장 중요한건 타입이 안정적인게 선호하는 이유인데 정리해보면 아래 내용정도가

장점이라고 생각할 수 있을것 같습니다.

 

  • 명확한 구조: 데이터 모델과 데이터 액세스 로직이 분리되어 코드의 가독성과 유지보수성이 높아집니다.
  • 타입 안전성: 명시적인 클래스 사용으로 컴파일 시 타입 체크가 가능하여 안정성이 높습니다.
  • 재사용성: 객체 지향적인 설계를 통해 코드 재사용이 용이합니다.
  • 유지보수 용이: 변경 사항이 발생해도 영향 범위가 명확하여 수정이 쉽습니다.
  • 확장성: 새로운 기능 추가나 변경에 유연하게 대응할 수 있습니다.

 

물론 HashMap이 빠르게 만들 수 있는건 맞지만, 결국 예외처리를 하기 시작하면 구조설계에

한시간쓸걸 몇시간동안 디버깅하는게 잦아서 결국 정착하게 된것 같습니다.