프론트엔드 스터디 2회차 회고

endmoseung·2023년 8월 24일
3
post-thumbnail

현재 진행중인 스터디에서 리팩토링 2판으로 스터디를 진행하게 돼서 해당 책을 읽고 느낀점을 위주로 글을 쓴다.

스터디 방식

기존에는 매주 한챕터씩 맡아서 진행했고 해당 챕터내용을 준비해서 더 심화되는 내용이 있다면 더 준비해오고 얘기하는 방식으로 진행했다.
하지만 이렇게 진행했을때 준비해야되는 범위도 부족했고, 이전에 스터디했던 책인 이펙티브 타입스크립트에서는 내용은 좋았지만 발표나 토론으로 이어지는 내용이 후반부에 많이 부족했기에 스터디를 할 수 있는 범위가 부족했다.
그래서 이전 문제를 극복하기 위해, 스터디 범위도 늘리고 해당 스터디에서 본인의 생각을 드러낼 수 있는 것들을 많이 준비해오는 방식으로 스터디를 진행했다.
그렇게 결정된 책 리팩토링 2판.

  1. 한 챕터(약 4~50페이지)씩 총 3명이 해당 내용을 스터디
  2. 해당 내용을 깃허브 레포지토리 에정리
  3. 단순 내용을 정리하는것이 아니라 본인의 생각이나 실제 작성한 코드의 예시 첨부
  4. 리스너들은 궁금한점에 대해서 질문 + 연쇄 질문(스피커도 본인 발표 외에는 스피커가 된다)

리팩토링

1-4장 리팩토링이란?

1-4장은 리팩토링을 해야하는 이유와 함께 간단한 예시들을 보여주고 뒷 장에 나올 내용들에 대해서 설명해줬다.

5장 예고

5장은 앞으로 리팩토링이 이어짐에 대한 예고의 장으로 2~3장 정도 분량밖에 안됐다.

6-11장 실제 적용

6-11장은 실제로 어떻게 리팩토링을 진행하는가에 대한 내용이었다.
6장 - 기본적인 리팩토링
7장 - 캡슐화
8장 - 기능 이동
9장 - 데이터 조직화
10장 - 조건부 로직 간소화
11장 - API 리팩터링

제일 인상깊었던 내용 중 하나는 8장 내용중 문장 슬라이드하기라는 챕터가 있다.
내용을 요약하자면 변수나 함수는 그 기능을 시작하는 부분으로 옮겨서 응집해준다는것이다.
이 내용에 대해서 나는 평소에 적용중이었는데 가령 상태, 이펙트, 함수,변수가 있다면 그 값들을 기능을하는곳에 응집해둔다.
이렇게 하면 비슷한 값끼리 훅으로 분리하기 편하고 가독성에도 유리하다 생각했었는데 실제로 스터디에서는 의견이 반반이었다.
오히려 가독성은 상태끼리, 이펙트끼리, 함수끼리 하는것이 더 유리하고 값을 응집해놓으면 성능에도 불리하다는 의견이었다.
이때 느낀점은 맞고 틀렸다기 보단 어떻게 생각해서 적용하는가가 중요하기에 본인의 경험을 토대로 상황에 맞게 적절한 방법을 취해야한다는 생각을 했다.

12장 상속 다루기

12장은 클래스의 상속에 다루는 내용이었다.

책의 상세 내용은 깃허브에 잘 정리돼있다.

회고

좋은 방법으로 가는것 같아서 1회차보다 만족스럽지만 그럼에도 부족한 부분이 보였다.
특히 스터디 방식을 바꾸고 범위가 늘어남에따라 한 사람당 발표하는 평균 시간이 20분이 걸렸고 QA시간도 포함하면 한사람당 30분이거나 그 시간을 넘어가는 경우도 생겼다.
그래서 2시간이라는 스터디 시간의 제약때문에 한 스터디에 3명만 발표하고 3명은 리스닝만 하도록 했는데 이는 리스너가 크게 할 일이 주어지지 않기에 의외로 시간을 100퍼센트 사용하지 못했다.
그래서 이를 해결하기 위해, 리스너들이 어떻게하면 해당 시간을 100퍼센트 사용할 수 있을까의 고민을 풀어야할 것 같다.

내 생각

부끄럽긴 하지만 리팩토링은 내가 생각하기에 코드가 난잡할때 하는거라고 생각했다.
하지만 이 책을 읽고 리팩토링은 기능을 추가할때 어려움이 생길것 같으면 리팩토링하는것이고 처음에 코드를 작성할때 리팩토링을 염두에두고 꾸준히 리팩토링해야한다.
그리고 리팩토링에는 테스트가 필수적이다라는것을 알게 됐다.
왜냐하면 리팩토링에 테스트가 없다면 개발자는 리팩토링 이후 기능이 잘 동작한다는 보장을 받을 수 없어서 실제로 코드를 빌드함으로써 여러 예외 경우를 확인해야한다.

이책을 읽는 요즘 회사에서 코드 리팩토링을 진행하고 있어서 어떻게 리팩토링하면 좋은 코드일까에 대한 고민을 많이 할 수 있었고, 회사 코드리뷰때도 리팩토링 책에 의거해서 여러 의견을 낼 수 있었다.
예를들면 최근에 회사 팀원분이 비슷한 기능이지만 리터럴만 다른 함수 3개로 분리해서 코드를 작성했는데 이 부분에 대해서 책에 나온 내용인 리터럴만 다른 함수일경우 하나의 함수로 합치는것이 가독성에 유리하다라는 내용에 의거해 코드 리뷰를 진행했다.

마지막으로 1판이랑은 다르게 자바스크립트 코드로 되어있어서 프론트엔드 개발자가 읽기에 좋은 책이었다.

끝으로

이처럼 스터디를 진행하고 있는데 이번에는 쏙쏙 들어오는 함수형 코딩이라는 책으로 스터디 예정인데 스터디원을 한명 더 모집할 예정이다.
혹시나 다음 책인 함수형 코딩에 관심이 많거나 같이 스터디를 진행하시고싶은 분이 있다면 아래 구글폼으로 신청하면 됩니다!

신청 주소
깃허브

profile
Walk with me

2개의 댓글

comment-user-thumbnail
2023년 8월 29일

지원이 28일까지였네요.. 때마침 저 쏙쏙 들어오는 함수형 코딩책을 읽고 있기도 했고 스터디도 정말 잘 진행하셨던 것 같은데 아쉽네요 글 잘 읽었습니다~ 많이 배워갑니다 :)

1개의 답글