한창 회사에서 프로젝트를 진행 중이다. 원래, 혼자서 개발하다가 이전에 글을 올렸 듯이 작년 말에 신입 프론트엔드 개발자가 와서 협업을 진행 중이다.
이전에는 개발을 진행하면서 주에 1~2번은 서로의 작업 내용을 공유하며 일을 하였는데, 요즘에는 너무 바빠, 회의를 하며 소통을 할 시간이 없다.
그러다보니 각자 개인의 스타일로 컴포넌트를 구현하며 작업을 하게 되었다.
이렇게 되면, 나와 그 개발자가 이 프로젝트를 하지 못하게 되었을 때, 다른 개발자가 유지보수하기가 어려울 것이다.
하지만, 지금 회의를 해서 어떤 방향으로 코딩을 할지 협의하고 작업을 진행하기에는 시간이 너무 부족하다.
그러다보니 각자가 컴포넌트를 구현하여 사용하는 방식도 다르다. 그래서 그 개발자의 컴포넌트 구현 방식과 나의 방식을 설명하고, 나의 경우 컴포넌트를 왜 이렇게 구현하는지에 대해
설명해 보려고 한다.
(우리 프로젝트는 eletron과 tailwindcss를 사용하여 개발 중이다.)
나는 왜 위와 같은 방식을 선택했을까?
먼저, 최대한 주제가 세분화 된 컴포넌트를 만들고 싶었다.
Text컴포넌트면 text만 담당, button이면 버튼만 담당, input이면 input만 담당하도록 말이다.
디자인 기획상, 쉽게 바뀌는 color나 font-size font-weight는 props로 넘겨주면 된다고 생각했다.
또한, 코드의 길이를 확실하게 줄여주어 가독성을 높이고 싶었다.
지금까지 다른 개발자의 컴포넌트 구현방식과
나의 구현방식을 설명하고, 나의 구현방식에 대한 이유와 근거를 말하였다.
솔직히, 지금 나의 구현방식에 대해 자신이 없다. 그러기에 많은 개발자들과 대화도 해보고 정보도 공유해야 함을 느낀다.
노력하자. 공부하자. 개발 실력은 노력한 만큼 돌아오니까!!