
벌써 금요일이다..
요즘 시간이 정말 빠르게 가고 있어서 무섭긴한데 그래도 나날이 발전하고 있으니까~
오늘 챌린지 강의에서는 최근 토스에서 배포? 라고 해야하나 오픈소스로 발표한 Frontend Fundamentals의 내용을 한 번 따라가보는 것이였다.
사실 이전에도 해당 페이지에 대해서 튜터님들이 추천을 많이 해주셨는데
매번 '아 언제 한 번 봐야지..' 하다가 과제나 프로젝트 개발에만 시간을 할애하고 있어서 이번 기회로 어떤 내용인지 알아보자 생각했다.
전체적인 흐름은 협업을 중점적으로 봤을 때 작성할 수 있는 좋은 코드 란 무엇인가에 대한 설명과 예시를 알려주는 방향이였다.
기본적으로 협업에서는 나 만 코드를 작성하고 보는 것이 아니라 팀과 동료 가 같이 보는 것이기 때문에 쉽게 이해하고, 또 쉽게 삭제할 수 있어야 한다고 얘기한다.
여기서 말하는 쉬운 삭제 는 컴포넌트 삭제 및 기능 삭제로 인한 코드를 삭제 시, 다른 컴포넌트(다른 코드 파일)에 영향을 주지 않아 삭제에 부담이 없는 것을 얘기한다.
이런 방식으로 코드를 작성하기 위해 4가지 기준을 정해서 예시 코드들을 리팩토링하는데
- 가독성
- 예측 가능성
- 응집도
- 결합도
위의 기준들을 중점으로 내용을 진행한다.
좀 더 자세한 내용을 알고 싶으면 해당 링크로 들어가서 보는 걸 추천한다.
사실 이번 강의 뿐만 아니라 대학교에서 들었던 디자인 아키텍쳐 강의나 정보처리기사 자격증 공부할 때도 저 4가지 기준들을 계속해서 들었었다.
그렇다면 개발자의 입장에선 사실 저 기준들을 지키고 관리하기위해 평생을 공부하고 배워야하는 것이다. 쉽게 생각할 수도 있지만 이런 것들을 위한 패턴이나 아키텍쳐를 만들어서 적용하는 것을 보면 어려울 수도 있다.
그렇지만 더 중요한 것은 '쉽다,어렵다'를 구분하는 것보단 이 기준들을 스스로 알고, 내 개발 환경에서 필요한 것을 판단할 수 있는 능력을 기르는 것이다.
최근 AI 모델이 발달하면서 기능 구현에 대한 능력치는 비슷해진 느낌이다.
그렇지만 그 코드들을 상황에 맞게 최적화하고 디자인 패턴을 정해서 적용하는 건 온전히 그 프로젝트를 진행하는 팀원들의 몫이다.
그렇기에 이런 인사이트를 높여 장래에, 혹은 빠르면 기업 면접에서? 나만의 관점을 만들 수 있으면 나의 큰 무기가 될 것이다.
개발의 정수란..
'혼자' 하는 '구현'이 아닌..
'팀'이 이뤄가는 '목표'이다!
(프론트엔드 개발자, 최창연)