Search
Duplicate
🌓

2주차 온라인 세션 - 2021.11.30

체크인

오늘 컨디션 상태를 아래 테이블에 작성해주세요 점수는 1~10점 사이로 오늘의 컨디션을 작성해주시면 됩니다.

 팀별 토크(~20:30)

지난 시간 이후에 이번 스텝2를 하며 느꼈던 점들, 신경쓴 점들 이야기 나눠보기
그리고 나의 PR 본문에 오늘 중점적으로 리뷰 받고 싶은 부분, 어려웠어서 피드백 받고 싶은 2~3가지 정도를 적어보기
ex_ 모듈분리에 신경을 많이 썼는데 관련된 부분에 피드백 남겨주시면 좋을 것 같아요~!
ex_ 작명소 차릴뻔 했어요... 변수명 짓느라 시간 엄청 썼는데 네이밍에 대한 피드백 기다립니다

 코드 리뷰 이터레이션1 (~21:00)

팀 내 이름 순서를 한 번 적어주시고, 오른쪽 사람의 코드를 리뷰하도록 하겠습니다.
ex_ 효진 ⇒ 정수 ⇒ 리타
이 때 PR을 올리시지 못한 경우, 이름 순서에는 넣지 않고 깍두기 역할을 합니다.
깍두기는 원하는 다른 사람의 PR을 자유롭게 보면서 리뷰를 남길 수 있습니다. (절대권능 깍두기!)
팀원 간의 순서를 정해서 다른 한 사람의 코드를 20분간 리뷰해주세요

중간회고 (~21:10)

 코드 리뷰 이터레이션2 (~21:30)

팀 내 이름 순서를 한 번 적어주시고, 오른쪽 사람의 코드를 리뷰하도록 하겠습니다.
ex_ 이터레이션1: 효진 ⇒ 정수 ⇒ 리타 / 이터레이션2: 리타 ⇒ 정수 ⇒ 효진
이 때 PR을 올리시지 못한 경우, 이름 순서에는 넣지 않고 깍두기 역할을 합니다.
깍두기는 원하는 다른 사람의 PR을 자유롭게 보면서 리뷰를 남길 수 있습니다. (절대권능 깍두기!)
팀원 간의 순서를 정해서 다른 한 사람의 코드를 20분간 리뷰해주세요

 의미 있는 주석 달기

1. 주석에 담아야하는 대상

우리가 주석을 작성한다면 어떤걸 작성하면 좋을까요? 주석은 실제 코드를 포함하여 해당 부분을 이해하는데 더 많은 시간을 할애해야하고, 화면의 일정한 부분을 차지합니다. 그래서 주석 또한 코드의 일부이므로 작성할 때는 분명한 이유가 있어야 합니다. 그럼 작성해도 괜찮은 주석과, 그렇지 않은 주석 사이의 경계를 어떻게 정할 수 있을까요?

1) 감독의 설명을 포함하기

영화에는 감독이 자신의 통찰을 설명하고, 영화가 만들어진 과정을 관람객이 잘 이해하게 도와주는 '감독의 설명'을 담은 감독판 트랙이 있습니다다. 이와 비슷한 방식으로 중요한 통찰을 기록한 주석을 코드에 포함시킨다면, 읽는 사람으로 하여금 해당 코드에 대한 더 높은 이해를 할 수 있게 도와줍니다.
예를 들면
// 이 데이터에서 이진트리는 해시테이블보다 40%정도 빠르다. // 재귀함수를 이용하면, 기존의 100line이 될수 있는 코드가 단 20줄로 정리된다. 반면 성능은 유의미한 차이가 없다.
JavaScript
이러한 주석은 코드를 읽는 사람에게 코드를 최적화하느라 시간을 허비하지 않게 도와줍니다.

2) 코드에 있는 결함을 설명하기

코드는 지속적으로 진화하며, 그러는 과정 중에 버그를 갖습니다. 이러한 결함을 설명하는 것을 부끄러워할 필요는 없습니다. 숨기는게 문제이지, 결함을 공개적으로 드러내고 수정할 여지를 남겨야 합니다. 예를 들어 개선이 필요할 때 아래와 같이 작성할 수 있습니다.
// TODO: JPEG외 다른 이미지 포맷도 처리할 수 있어야 한다
JavaScript
// AsyncMode should be deprecated export function isAsyncMode(object: any) { if (__DEV__) { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']( 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.', ); } } return false; }
JavaScript
이러한 결함 설명과, 추가로 해야하는 일의 경우 팀내에서 컨벤션을 맞추면 좋습니다.

3) 상수에 대한 설명

상수를 정의할 때는 종종 그 상수가 무엇을 하는지, 그것이 왜 특정한 값을 갖게 되는지 사연이 있는 경우가 있습니다. 예를 들면 아래와 같이 작성된 경우, 주석을 통해 해당 코드에 대한 이해도를 더 높게 가져갈 수 있습니다.
// 합리적인 한계 - 1000개 이상을 구독하는 사람은 기획 논의상 없다. const MAX_SUBSCRIPTIONS = 1000 // 사용자들은 0.72가 크기/해당도 대비 최선이라고 생각한다. const IMAGE_QUALITY = 0.72
JavaScript

4) 사람들이 쉽게 빠질 것 같은 함정을 미리 경고하기

예를 들어 사용자에게 이메일을 보내는 써드파티 라이브러리와 함수를 작성했다고 해봅시다. 이 때 아래와 같은 이슈가 있고, 그에 대해 작성해준다면, 함께 개발하는 사람은 1분정도 소요된다는걸 사용자에게 애니메이션이나, 메시지로 알림을 줄 수 있습니다. 그렇지 않다면, 왜 시간이 1분이나 걸리는지 그것이 에러가 아닌지 확인하는 작업을 해야할수도 있습니다.
// 이 함수는 외부 서비스를 호출하여, 이메일을 발송한다 (1분정도 소요) function sendEmail() { ... }
JavaScript

회고 (~21:55)

4주차 목표

⇒ 스텝3 미션 진행 후 PR 올리고, 팀원 분들과 서로 체크해주기

체크 리스트

스텝3 미션을 진행하고 Pull Request를 규칙에 맞게 보냈는가? (https://makerjun.notion.site/b83f1f42a51a431ebe95cba7a4498dd1 참조)
질문, 배울만한 점 1가지 이상 남기기
컨플릭트 나는 파일은 없는가?

Q&A

체크아웃 & 개선을 위한 피드백

스터디 안내

일정 소개

11월 16일 화 - OT
11월 24일 수 - 1주차 세션
11월 30일 화 - 2주차 세션
12월 7일 화 - 3주차 세션 (버퍼)
12월 14일 화 - 4주차 세션

미션 저장소

강의 자료