26.02.10
모아클 프로젝트 진행 중 무작정 AI의 코드리뷰에만 의존하고 있었던 우리 팀에게
마르코 멘토님께서 PR 리뷰와 조언을 남겨주셨다.
클린 코드를 유지할 때 꼭 습관들여야 할 내용을 알려주셨다
대표적으로
1. 주석 삭제
- 관리 포인트가 더 생기게 됨
- 함수 이름만 봐도 알 수 있는 코드를 주석으로 설명하는 것은 시간 비용이 발생한다
- 기능 수정 시 주석도 같이 수정해야해서 비용 추가 발생!!
2. console.log 사용 자제
- 콘솔 로그는 개발 단계에서만 사용하지 사용자에게 보여주는 용도가 아님!
- main에 머지할 때에는 '사용자에게 코드를 보여준다'고 생각하기
3. eslint prettier를 적극 활용하자
- 초기 설정 시간 대비 사람의 눈으로 찾기 힘든 오류를 잡아주기 때문에 거의 필수
- 쓸모없는 공백 없애기
- 필요없는 console.log 없애기
- any 사용 불가
팀원들과 회의결과 2,3번은 적극 수용하기로 했다.
eslint를 활용하여 잡아주기로 했다.
주석 관련해서는 의견이 분분했다.
1. 시간이 촉박한 상태에서 매 코드에 PR 리뷰를 달아주기 위해서는 가독성이 좋아야한다.
=> 주석은 큰 도움이 된다.
2. 그럼에도 강하게 커야한다.
코드만으로 이해가 안될 것 같으면 사용하는게 주석
중복된 의미를 가지지 않게 하는게 중요하나
hook 이나 함수에 사용처를 알려주는 것은 괜찮은 주석이 된다.
js 에서 인자의 타입을 알려주는 것은 타당하나 ts에서는
주석을 잘 적을 생각보다는 코드를 어떻게 하면 잘 이해할 수 있게 짤까가 중요하다고 하셨다.
결국은 주석이 필요할지 아닐지를 늘 생각하면서 코드를 짜는게 습관에 중요하다.
불편함을 느꼈을 때 정해지는 게 컨벤션
영지님: 누구는 get으로 누구는 fetch로 표현해서 통일이 필요하다.
절충안을 생각하기 보다는 이제 '합의'를 해야하는 시기임 => 이때 필요한 게 컨벤션
style guide로 관리 혹은 eslint로 강제화(쉽지 않음)

min 으로 받던 duration을 초로 받기
1. 백엔드가 duration을 초로 받는다고 가정하고 코드 짜기

https://tanstack.com/query/v5/docs/reference/QueryClient?utm_source=chatgpt.com
QueryClient | TanStack Query Docs
QueryClient The QueryClient can be used to interact with a cache: tsx import { QueryClient } from '@tanstack/react-query' const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime:...
tanstack.com


코드의 의미
기존 코드
- classId가 없을 때(클래스를 생성할 때) 억지로 0을 넘겨주자
- 0번 클래스가 없어서 훅 내부에서 막히겠지만
코드상으로는 "ID가 0인 데이터를 가져오라"는 의미가 되어 어색해짐

1. lessonId를 optional로 받기(undefined)
=> enabled 옵션 = lessonId가 존재하면 실행 없으면
!!lessonID = lessonID를 boolean 타입으로 변환
2. fetchLesson(lessonId!) <- !는 lessonId가 optional이라
기존 코드에서 이미
enabled: !!lessonId가 들어가 있긴 했어요.
하지만 사용처에서 0을 넣어주는 바람에 !!0이 false가 되어 운 좋게(?) 안 돌아갔던 건데,
멘토님은 "이걸 0으로 막지 말고, 아예 타입을 비워두는 게 더 정석이다"

'STUDY' 카테고리의 다른 글
| 데이터베이스 (0) | 2026.02.09 |
|---|---|
| CPU 스케줄링 알고리즘 (0) | 2026.02.09 |
| 운영체제 - 메모리, 프로세스와 스레드 (0) | 2026.02.03 |
| 파이프라인 모니터링 클러스터 모니터링 (0) | 2026.02.01 |
| HTTP 프로토콜 & 운영체제 (0) | 2026.01.28 |