코드숨 React 5기 - 2주차 회고

코드숨 React 5기 - 2주차 회고

2주차 주간 회고

Facts

  • 코드숨 2주차 과제 수행
    • 2-1 React로 간단한 Counter 앱 구현
    • 2-2 React로 간단한 Todo 앱 구현
  • HTTP 완벽 가이드 공부

Feelings

  • 코드 포매팅, 변수명 등 코드 작성 때 가독성을 위해 고려하는 기본적인 요소들을 많이 지적받았다. 그만큼 기본적인 부분을 많이 놓치면서 코드를 작성했다는 의미이다. 지금이라도 피드백을 받을 수 있어서 다행이라고 생각했다. 코드가 가독성을 가지려면 2가지: 내가 의도한 바가 있어야 하고, 그 의도한 바가 표현되어야 한다. 아직은 코드에 의도를 잘 담는 연습이 더 필요하다고 느꼈다. 그리고 좋은 의도를 담으려면 좋은 설계에 대한 일반적인 원칙들을 잘 알고 있어야 하지 않을까 하는 생각도 들었다.

  • 피드백을 받으면서 컴포넌트 설계(?)를 어떻게 해야하는 지 처음으로 고민을 하게 되었던 것 같다. 이전에는 컴포넌트 분리의 목적은 한가지였다. 커다란 컴포넌트를 더 작은 단위의 컴포넌트로 분리하는 것. 그저 작은 컴포넌트로 나누는 것에만 집중했기 때문에 나누어진 컴포넌트에 props를 통해 넘기는 값들(상태 값, 상태 변경 함수)을 어떻게 구성해서 넘길 지는 고려해보지 않았다. 첫 번째로 지적받았던 것은 count값을 변경하는 setCount 함수를 하위 컴포넌트가 props에서 setCount라는 이름으로 바로 받아서 사용한 점이다. 사실 하위 컴포넌트는 onClick 이벤트가 발생했을 경우 위임받아서 실행할 함수가 궁금하지 그게 구체적으로 setCount인지는 궁금하지 않다. 따라서 하위 컴포넌트의 인터페이스로 setCount는 너무 구체적인 정보이다. 결론적으로 하위컴포넌트가 외부에 공개해야 할 적절한 인터페이스는 자신이 그릴 상태 값 + 자신이 처리해야 할 이벤트이다.(항상 그런걸까? 좀 더 구체적인 정보가 더 적절한 상황은 없을까? 하는 의문은 있다. 이 지점에서도 역시 좋은 설계에 대한 일반적인 원칙들을 잘 알아야 할 필요성을 느꼈다.)

  • HTTP 완벽 가이드 공부를 매일 20페이지 정도 꾸준히 읽기로 했는데 제출한 과제 피드백을 반영하고 나면 매일 20페이지를 읽는게 녹록하지 않다…

Findings

  • 의도를 담은, 의도가 잘 드러나는 코드를 짜는 연습의 부족함
  • 컴포넌트 구현시 외부에 공개할 적절한 인터페이스가 무엇인지 고민해야 한다는 점
  • 좋은 설계에 대한 일반적인 원칙들을 꾸준히 학습해야 할 필요성(어떻게 공부하면 좋을지는 고민이다.)
  • 체력의 부족

Affirmation

  • 적절한 컴포넌트 구성과 관련된 자료를 읽어보기 우선은 여기
  • 매일 30분 조깅하기
  • HTTP 완벽 가이드 공부 20페이지 읽기 꾸준히 지속하기

댓글