열심히 구현한 어려운 코드가 좋은 코드일까?(feat. 오버 엔지니어)

slee2·2022년 8월 22일
0

main

목록 보기
5/12

계층 구조 처리

나는 비전공으로 대학교를 다니고 있다.
우연히 접한 피신을 기회로 42서울을 다니며 여러 프로젝트를 경험하다가,
22년 7월에 중소기업에 인턴으로 들어갔다.

현재 새로운 프로젝트를 들어감에 따라서,
DB 구조를 정하면서, 계층 구조를 정해야하는 이슈가 생겼다.
열심히 해야지 라는 마음가짐으로 내가 생각하기에 어려우며, 효율 좋아보이는 구조를 찾고, 구현을 하기 시작했다.

중첩 세트 모델

구현한 방법은 바로 이 중첩 세트 모델로, leftNode와 rightNode를 이용해 저장 및 검색을 유용하게 하는 구조이다.
댓글, 대댓글 기능을 이용할때 유용하다는 글을 보고, 이 방법을 이용하면 계층 구조를 더 좋게 표현할 수 있다고 생각하였다.

구현

구현은 간단하게 jetBrain의 DataGrip을 이용하여 DB 테스트를 진행하였다.

어떻게든 구현을 마치고, 성공적으로 실험이 성공하였다.
어려운 구조이라고 생각하였고, 이 구조를 만든것에 뿌듯했다.

창의력은 익숙함과 새로움의 토대에서 나온다

하지만, 이 구조는 내가 아닌 다른 개발자가 본다면 이해를 할 수 있을까?
또, 이 구조가 정말 좋은 효율이 나올까?
요구사항을 봤을때 우리가 구현해야할 컬럼은 생각보다 깊거나 대규모 용량이 아니였다.

결국 간단하게 컬럼 4개로도 끝날 수 있는 구조를 어렵고 복잡한 구조로 만든것이다.
내가 생각했을때는 어려운 구조를 만든만큼 뿌듯함이 생길지 모르지만, 실무에서는 그저 필요하지 않은 기술 관심사인 것이다.
http://www.dailytw.kr/news/articleView.html?idxno=19052

정답은 생각보다 가까이 있으며, 어떤 요구사항인지에 따라 쉽고, 알아먹을 수 있는 구조를 사용하는것이 좋을때가 많다는 것을 알았다.

결론적으로는 상황에 따라 맞는 구조를 짜는 것이 좋은 코드인 것 같다.

0개의 댓글