0. 개요
백엔드에서의 작업이 느려져서 느긋하게 개발을 하고 있는데 내 코드를 다시보니 느긋하게 하면 안 되는 상황이였습니다.
빠르게 코드리뷰를 해야지 진행이 될텐데 코드리뷰가 점점 느려져서 내가 해야할 일을 못 하게 되었습니다. 코드리뷰의 속도를 높일 방법에 대한 고민을 하였고 오랜만에 회의에서 유의미한 고민과 블로그에 적을 거리가 생겨서 블로그를 작성해보았습니다.
1. 커밋 메시지
팀원이 만든 공통 헤더 컴포넌트가 있습니다. 이것에 대한 사용법은 나와 팀원들은 익숙하긴 하지만 "새로운 사람이 봤을 때 바로 사용할 수 있나?" 라는 질문에 그렇지 않다고 생각되어서 아래와 같은 PR 메시지를 달았습니다.
요청을 받은 팀원분이 열심히 JSDoc기능을 사용해서 주석을 달았습니다.
여기서 JSDoc기능이 무엇이냐!!
JSDoc
아래와 같이 주석을 달면 함수에 커서를 올렸을 때 아래의 주석에 대한 설명이 뜹니다.
/**
* {함수에 대한 설명}
* @param data {현재 함수에 들어가는 파라미터에 대한 설명}
* @param progress
* @returns {함수가 무엇을 뱉어내는 지 설명}
*/
하지만 다른 팀원이 간단한 기능에 주석을 달면 번잡해 보인다하여 이 방법 대신 다른 방법을 사용하기로 했습니다.
문서화하기
JSDoc기능을 사용하긴 하지만 상세한 설명 대신 노션에 문서화하여 작성하 링크를 달아놓아서 궁금한 사람은 찾아보도록 하는 방식입니다. 이렇게 하면 깔끔하게 만들 수 있습니다.
/**
* @see https://www.notion.so/connecting-star/Header-9bf6a5c36d19428cac03aada13732d61
*/
하지만 나는 코드가 길어지더라고 그 컴포넌트로 가면 바로 설명을 읽을 수 있도록 하는 방식이 낫다고 생각합니다. 하지만 팀원의 말도 일리가 있어서 개인의견이라 생각되어 팀원의 의견을 수락했습니다.
회의 때 내 의견을 좀 더 정리해서 말할 수 있었더라면 설득할 수도 있었을텐데 아쉽고 회사에 가게 된다면 내 의견을 잘 피력하는 방법을 연습해야겠다고 생각했습니다.
팀원이 이 코딩애플 유튜브를 보고 작성한 것으로 보입니다.
2. 깃헙 대소문자 구분하게 하기
파일, 폴더명이 맘에 안 들어서 변경을 하였습니다. OnBoarding -> Onboarding으로 바꾸니 에러가 떠서 알아보니 깃헙은 대소문자를 구분하지 못 해서 에러가 생겼습니다.
우연히 팀원또한 똑같은 에러 생겨서 블로그에 정리를 하였습니다.
https://cho9407.tistory.com/120
3. 코드리뷰가 느려져서 PR이 늦어진다.
코드리뷰를 빠르게 하는 방법을 chatGPT한테 물어보니 이런 답이 나왔습니다.
- PR 크기 줄이기: 큰 PR은 리뷰하기가 어렵습니다. 가능한 한 작은 단위로 PR을 나누어 제출하여 리뷰어가 더 쉽게 코드를 이해하고 빠르게 리뷰할 수 있도록 합니다.
- 리뷰어 지정 정책 수립: 리뷰어가 누구인지 명확히 하고, 가능한 한 빨리 리뷰를 시작할 수 있도록 합니다. 필요한 경우 코드 오너십을 명확히하여, 해당 영역의 전문가가 리뷰를 담당하도록 합니다.
- 리뷰 우선순위 지정: 모든 PR이 동일한 중요도를 가지는 것은 아닙니다. 우선순위가 높은 작업이 먼저 리뷰되어야 합니다. 이를 위해 라벨이나 마일스톤을 사용하여 우선순위를 지정할 수 있습니다.
- 자동화 도구 사용: 코드 스타일, 포맷팅, 기본적인 오류 검사 등을 자동화할 수 있는 도구를 사용하면, 리뷰어가 더 중요한 로직이나 구조적 문제에 집중할 수 있습니다. 예를 들어, ESLint, Prettier, Stylelint 등이 있습니다.
- 교육 및 문화 조성: 코드 리뷰의 중요성에 대해 팀 내에서 교육하고, 긍정적인 리뷰 문화를 조성합니다. 서로의 코드를 배우고 성장할 기회로 보며, 건설적인 피드백을 주고받을 수 있는 환경을 만듭니다.
- 시간 할당 및 리마인더 설정: 특정 시간을 코드 리뷰 시간으로 할당하거나, 리뷰가 필요할 때 알림을 보내는 것과 같이 시간 관리 전략을 세우는 것이 도움이 될 수 있습니다.
- 코드 리뷰 체크리스트 제공: 리뷰어가 중요한 포인트를 놓치지 않고 체계적으로 리뷰할 수 있도록 체크리스트를 제공합니다. 체크리스트에는 코드의 가독성, 테스트 케이스의 존재, 성능 문제 등을 검토하는 항목이 포함될 수 있습니다.
- 리뷰 프로세스 개선에 대한 피드백 수집: 정기적으로 팀 미팅을 통해 리뷰 프로세스에 대한 피드백을 수집하고, 개선 방안을 논의합니다. 프로세스가 지속적으로 개선될 수 있도록 합니다.
이 중에서 1번과 4번, 8번을 다음 회의때 이야기를 해서 적용할 예정입니다.
'프로젝트 > Tarss' 카테고리의 다른 글
[Tars] 회고록 12일차 - rebase, PR, 나의 실수들 (0) | 2024.03.21 |
---|---|
[Tars] 회고록 11일차 (0) | 2024.03.12 |
[Tars] 회고록 10일차 (0) | 2024.03.04 |
[Tars] 회고록 9일차 - reduxjs/toolkit, 채팅페이지버튼, 닉네임필터 (0) | 2024.03.04 |
[Tars] 회고록 8일차 - redux (0) | 2024.03.02 |
댓글