이제 겨우 인턴직을 수행한지 두달된 개발자가, 그리고 저번주부터 본격 코딩 스케줄이 시작된 시점에 내 코딩 실력이 정말 부족하다는 것을 깨닫고 있다.
정해진 스케쥴이 시작되기 전에 최대한 레이아웃을 구현하기 위해서 호기롭게 코딩을 시작했다가 순식간에 복잡해져버린 로직때문에 간단한 기능을 수정하거나 고치는데에 더 많은 시간을 쏟아붓고 있다.
몇가지 어려움들을 적어보자면 다음과 같다.
1. 재사용 가능한 컴포넌트 설계
2. 무분별하게 중복된 기능들
3. props drilling
이 세가지 문제들로 인해서 코드를 유지보수하기 어렵다고 느끼고 있다. 해당 문제들을 마주치다 보니 들었던 생각이 어떻게해야지 처음부터 해당 문제들을 모두 인지한 상태에서 좋은 코드를 설계할 수 있을까? 였다. 사실 props drilling같은 문제는 개인적으로 수행하는 프로젝트에서도 많이 마주쳤던 문제였고 너무 심한 props drilling이 나타날 경우에 context API 또는 redux를 통해서 해결하였다.
그치만 context API 그리고 redux를 찾아보면 이러한 말이 있다. "단순히 props drilling을 해결하기 위해서 해당 기술들을 사용하는 것은 추천하지 않습니다." 돌려서 말하자면 "해당 기술을 사용하기 전에 너가 작성한 코드 설계를 먼저 확인해봐" 라는 의미일 것이다.
컴포넌트 설계가 잘못되어 props drilling이 발생하다 보니 자연스럽게 컴포넌트를 재사용할 수 없게 된다.
우리는 현재 디자이너분이 만들어주신 ui를 보면서 코딩을 하는데 하나의 박스에 label: input 형식으로 되어있는 구조가 반복되는 컴포넌트가 있어 재사용 가능한 컴포넌트를 만들어야 겠다고 생각했지만 막상 만들다보니 굉장히 fit한 컴포넌트를 만들어버렸고 그 이유는 재사용 가능한 범위를 깊게 생각하지 않아서 인것 같다.
오늘 퇴근하는 길에 이런 생각을 했다 "정말 간단한 로직들이 쌓이고 쌓이다 보니 정말 복잡해지는구나! 이래서 uml을 그리고 또 그리는 구나!" 그러면서 위와 같은 문제들을 구현전에 예방할려고 하는 사람들이 굉장해 보이기 시작했다.
이번주도 최대한 열심히 해봐야겠지만 까딱하면 다음주부터는 야근해야할 수도?
'생활' 카테고리의 다른 글
[미국생활] Chase 은행 계좌 개설 (2) | 2024.10.02 |
---|---|
나는 어떤 개발자가 될까 (3) | 2024.09.24 |
미국 개발자 j1 인턴 (1) | 2024.09.22 |
2024년 1분기 회고 (0) | 2024.04.01 |
노마드 코더 - 노개북 챌린지 (0) | 2024.03.15 |
댓글