당신의 React Pull Request 리뷰가 너무 오래 걸리는 이유: AI가 만든 문제
요약
AI가 생성한 코드가 명확한 표준 없이 작성될 경우, Pull Request 리뷰 단계에서 구조와 컨벤션에 대한 불필요한 논쟁이 발생하여 리뷰 시간이 길어집니다. 이를 해결하려면 코드 생성 전 AI가 준수해야 할 명확한 규칙과 표준을 먼저 정의해야 합니다.
핵심 포인트
- AI 생성 코드는 명확한 표준이 없으면 구조적 결함을 유발함
- 반복되는 리뷰 댓글은 문서화되지 않은 규칙의 신호임
- 리뷰 단계에서 규칙을 협상하는 것은 비용이 매우 높음
- 코드 작성 전 AI에게 적용할 표준을 먼저 정의해야 함
모든 팀에는 그런 Pull Request (PR)가 하나씩 있습니다.
리뷰 상태로 사흘 동안 방치되어 있는 것 말입니다. 동일한 근본적인 문제를 두고 열두 개의 댓글이 달린 것 말입니다. 무엇이 실제 표준인지 아무도 합의하지 못해 대화가 계속 이어지는 것 말입니다.
그리고 다음 주면 똑같은 것이 또 나타납니다.
리뷰가 느린 이유는 리뷰어가 느려서가 아닙니다. 개발자가 무언가 잘못해서도 아닙니다. 리뷰가 느린 이유는 AI가 따라야 할 표준 (Standard) 없이 기능을 구축했고, 이제 리뷰 단계가 누락된 표준을 실시간으로 협상하는 장소가 되었기 때문입니다.
느린 리뷰에서 실제로 일어나는 일
긴 React Pull Request 리뷰에서 소비되는 시간의 대부분은 로직 (Logic)에 관한 것이 아닙니다.
그것은 구조 (Structure)에 관한 것입니다. 명명 규칙 (Naming). 상태 (State)가 어디에 위치하는지. 컴포넌트 (Component)가 너무 많은 일을 하고 있지는 않은지. 해당 패턴 (Pattern)이 코드베이스 (Codebase)의 나머지 부분과 일치하는지 등에 관한 것입니다.
이것들은 어려운 질문이 아닙니다. 표준적인 질문들입니다. 마지막 줄이 리뷰된 후가 아니라, 첫 번째 줄이 생성되기 전에 답변되었어야 할 질문들입니다.
AI가 규칙 없이 기능을 구축할 때, AI는 스스로 그러한 결정들을 내립니다. 때로는 올바르게 추측하기도 하지만, 때로는 그렇지 못하기도 합니다. 그리고 AI가 올바르지 않을 때, 리뷰는 하나의 댓글을 통해 올바른 결정이 확립되는 장소가 됩니다.
그것은 표준을 확립하기에 비용이 많이 드는 장소입니다. 기능은 이미 구축되었습니다. 개발자는 이미 그 기능에 시간을 쏟았습니다. 이제 개발자와 리뷰어 모두 규칙이 방지할 수 있었던 결정들을 논의하는 데 더 많은 시간을 소비하게 됩니다.
왜 똑같은 댓글이 계속 나타나는가
당신의 지난 열 개의 Pull Request 리뷰를 살펴보고 댓글이 반복된다면, 그것은 우연이 아닙니다.
반복되는 댓글은 패턴 (Pattern)입니다. 그리고 패턴은 아직 문서화되지 않은 규칙 (Rule)입니다.
리뷰어가 "이것은 hook에 있어야 합니다"라고 쓸 때마다, 그들은 하나의 규칙 (Rule)을 전달하고 있는 것입니다. "이 컴포넌트는 너무 많은 일을 하고 있습니다"라고 쓸 때마다, 그들은 규칙을 전달하고 있습니다. "이 명명 규칙 (Naming)은 우리의 컨벤션 (Convention)과 일치하지 않습니다"라고 쓸 때마다, 그들은 규칙을 전달하고 있는 것입니다.
규칙은 존재합니다. 다만 AI가 따르는 시스템이 아니라 리뷰어의 머릿속에 살고 있을 뿐입니다.
그래서 AI는 계속해서 그 규칙을 따르지 않습니다. 그리고 리뷰어는 계속해서 똑같은 댓글을 작성합니다. 그리고 Pull Request (PR)는 예상보다 계속해서 더 오래 걸리게 됩니다.
반복되는 리뷰 댓글은 개발자들이 배우지 못하고 있다는 신호가 아닙니다. 그것은 코드를 생성하는 AI에게 표준 (Standard)이 전달되지 않았다는 신호입니다.
리뷰 이전에 규칙이 존재할 때 변하는 것들
AI가 출력물이 어떤 모습이어야 하는지를 정의하는 규칙을 가지고 있다면, 리뷰는 완전히 달라집니다.
구조는 이미 올바릅니다. 명명 규칙 (Naming)은 이미 컨벤션 (Convention)을 따르고 있습니다. 상태 (State)는 이미 적절한 위치에 있습니다. 컴포넌트 (Component)는 이미 적절한 크기입니다.
리뷰어는 Pull Request를 열고, 협상할 필요 없이 표준에 부합하는 코드를 읽습니다. 댓글은 로직 (Logic), 엣지 케이스 (Edge cases), 제품 결정 (Product decisions)에 관한 것이 됩니다. 즉, 실제로 인간의 판단이 필요한 부분들에 대해서 말이죠.
리뷰는 더 짧아집니다. 표준이 낮아졌기 때문이 아닙니다. 코드가 작성되기 전에 이미 표준이 적용되었기 때문입니다.
실제 사례는 다음과 같습니다:
가장 흔한 리뷰 댓글을 제거하는 규칙들:
1. 컴포넌트는 프레젠테이션 (Presentational) 또는 컨테이너 (Container)여야 한다. 결코 둘 다여서는 안 된다. PR이 열리기 전에 추출하라.
2. 상태 (State)는 전용 hook에 존재해야 한다. UI 컴포넌트 내에서 인라인 상태 관리 (Inline state management)를 하지 마라.
...
세 가지 규칙. 매 세션 전에 적용됩니다. 그 규칙들이 생성했을 법한 댓글들은 리뷰에서 결코 나타나지 않습니다.
리뷰는 표준을 강제하기에 적절한 장소가 아니다
코드 리뷰 (Code review)는 로직 오류를 잡아내고, 제품 결정을 논의하며, 지식을 공유하기 위해 존재합니다.
그것은 AI 표준이 확립되는 장소가 되도록 설계된 적이 없습니다. 하지만 규칙이 없다면, 정확히 그렇게 변하고 맙니다.
일관성에 대한 모든 코멘트는 AI가 가지고 있지 않았던 규칙입니다. 반복되는 모든 코멘트는 AI가 여전히 가지고 있지 않은 규칙입니다. 그리고 모든 느린 Pull Request (PR)는 프로세스의 시작 단계가 아닌 마지막 단계에서 표준을 강제하는 데 따르는 비용입니다.
프롬프트 (Prompt)는 중요하지 않습니다. 규칙이 중요합니다.
끝나지 않는 리뷰는 리뷰의 문제가 아닙니다. 규칙이 누락된 문제입니다.
첫 세션이 시작되기 전에 표준을 정의하십시오. AI가 무언가를 생성하기 전에 그 표준을 AI에게 전달하십시오. 그리고 리뷰가 실제로 중요한 작업에 집중할 수 있도록 하십시오.
당신의 React 프로젝트에서 이미 규칙이 되어 있어야 할 리뷰 코멘트가 무엇인지 알고 싶습니까?
저는 바로 그것을 찾아낼 수 있도록 돕는 24가지 항목의 무료 체크리스트를 만들었습니다. AI가 이를 방지할 규칙을 갖지 못했기 때문에 당신의 리뷰에서 계속해서 나타나는 구조적 격차들을 찾아내십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기