devcisive / solumon-frontend

0 stars 3 forks source link

[feature/component] 컴포넌트 구현 #3

Open chaeeunj opened 1 year ago

chaeeunj commented 1 year ago

msw 사용 방법을 공부하면서 우선 UI 위주로 구현하기

@chaeeunj

@eunsoo-cho

oinochoe commented 1 year ago

@chaeeunj 지금 12가지 컴포넌트로 크게크게 잘 나누신 것 같습니다. 게시글 카드 postcard 내용들이 조금 더 다양한 케이스가 있다면 그 내부에서 또 컴포넌트를 나누시거나 필요한 부분이 적다면 예외처리 정도로 끝내셔도 될 것 같아요.

보통 고려 관점은 다음과 같아요.

재사용성, 유지보수성 공통적으로 사용되는 UI 요소나 로직은 재사용 가능한 컴포넌트로 분리하는 것이 좋습니다.

가독성 너무 많은 로직이나 JSX, TSX 코드가 하나의 컴포넌트 내에 있을 경우, 이해하기 어려울 수 있어요. 비즈니스 로직이 계속해서 반복된다면 코드의 가독성을 높이기 위해 로직을 hook이나 service로 분리하고 필요하다면 컴포넌트를 분리하는 것이 좋아요.

프로젝트의 규모와 복잡도가 중요합니다. 작은 프로젝트에서는 컴포넌트를 너무 세분화할 필요가 없을 수 있어요. 하지만 현업에서 다룰 때 프로젝트의 규모가 커지고 복잡도가 높아질수록 컴포넌트를 세분화하는 것이 중요해집니다.

결론적으로, 컴포넌트를 너무 세부적으로 나누게 되면 파일 구조나 로직을 찾기 어려워질 수 있습니다. 반대로 너무 큰 단위로 묶으면 해당 컴포넌트의 코드가 길어져 가독성이 떨어질 수 있습니다. 따라서 적절한 균형을 찾는 것이 중요해요.

하시다가 궁금한 내용 있으시면 @oinochoe로 태그 걸어주세요!