요약

이 무료 AI 코드 리뷰 도구는 규칙 기반 사전 검사기입니다. git diff나 코드 조각을 붙여넣으면 추가된 줄을 13개 규칙으로 검사합니다. 하드코딩된 시크릿, 문자열로 조립한 SQL, 삼켜진 예외, 비활성화된 테스트, 디버그 잔여물을 찾고, 지나치게 큰 변경과 테스트 누락도 표시합니다. 줄 번호가 붙은 0~100점 점수를 반환합니다. 모든 처리는 브라우저에서 이루어지며 AI 모델을 쓰지 않습니다. 사람이 리뷰하기 전에 기계적인 문제를 먼저 걸러내는 용도입니다.

PR을 올리기 전에 diff부터 점검하세요

git diff나 코드 조각을 붙여넣으세요. 이 무료 AI 코드 리뷰 도구는 브라우저 안에서 시크릿, 안전하지 않은 SQL, 삼켜진 오류, 남은 디버그 코드, 지나치게 큰 변경을 찾아내고 PR에 100점 만점 점수를 매깁니다.

모니터에서 나란히 놓인 코드 diff를 검토하는 엔지니어

사전 리뷰 diff 검사기

통합 diff나 코드를 붙여넣으세요. diff가 감지되면 추가된 줄만 검사합니다. 붙여넣은 내용은 브라우저 밖으로 나가지 않습니다.

--/100
코드를 붙여넣어 시작하세요
아직 검사한 내용이 없습니다.
    작동 방식

    검사기가 보는 것과 무시하는 것

    추가된 줄만 검사

    unified diff를 붙여넣으면 검사기가 hunk 헤더를 읽고 새 파일 기준으로 줄 번호를 세어 추가된 줄만 스캔합니다. 삭제된 줄과 변경되지 않은 문맥 줄은 결과를 만들지 않으므로, 오래된 코드 때문에 지적받지 않습니다.

    심각도 가중 점수

    규칙은 세 단계로 나뉩니다. 높음은 15점 감점: 하드코딩된 시크릿, eval, 문자열로 조립한 SQL, 비활성화된 TLS 검사. 중간은 7점: 삼켜진 예외, 단독 실행 테스트, innerHTML, 400줄짜리 diff. 낮음은 2점: TODO, 디버그 출력, 주석 처리된 코드. 각 규칙은 최대 세 번까지만 점수에 반영됩니다.

    크기 및 테스트 검사

    추가된 줄이 200줄을 넘으면 변경을 나누라는 권고가, 400줄을 넘으면 더 강한 권고가 표시됩니다. SmartBear의 Cisco 연구에 따르면 리뷰어가 한 번에 200~400줄을 넘게 보면 리뷰 품질이 떨어집니다. 테스트 파일 없이 추가된 줄이 50줄을 넘는 diff에도 표시가 붙습니다.

    사용 방법

    붙여넣기부터 깔끔한 PR까지 네 단계

    1. 1

      diff 붙여넣기

      git diff main...HEAD를 실행하거나 커밋 전이라면 git diff --staged를 실행하고 출력을 붙여넣으세요. 일반 코드 조각도 가능하지만, 파일 이름과 테스트 파일 감지는 사라집니다.

    2. 2

      높음 항목부터 확인

      빨간색 항목은 리뷰어가 가장 먼저 멈추는 문제입니다. 커밋에 들어간 하드코딩 키는 줄을 지워도 기록에 남으므로, 삭제만 하지 말고 키를 교체하세요.

    3. 3

      나머지는 고치거나 근거 쓰기

      각 항목에는 한 줄짜리 수정 방법이 붙어 있습니다. 잘못된 탐지라면 PR 설명에 그렇게 적으세요. 리뷰어가 같은 질문을 하지 않게 됩니다.

    4. 4

      체크리스트 복사

      복사 버튼은 결과를 마크다운 체크리스트로 바꿔 PR 본문에 붙여넣을 수 있게 합니다. 리뷰어가 이미 잡은 문제를 볼 수 있습니다.

    사전 검사가 필요한 이유

    리뷰의 첫 30초를 console.log 찾기에 쓰면 안 됩니다

    동료의 풀 리퀘스트를 열면 익숙한 순서가 있습니다. diff를 훑으며 남은 디버그 출력, 담당 티켓이 없는 TODO, 건너뛴 테스트, 오류를 삼키는 catch 블록을 찾습니다. 이런 것은 사람의 판단이 필요하지 않습니다. 요청을 보내기 전에 먼저 돌아가는 체크리스트가 필요합니다. 이 도구가 메우는 빈틈이 바로 그것입니다. 리뷰어의 주의력은 한정되어 있습니다. SmartBear의 Cisco 리뷰 연구에 따르면 사람이 200~400줄을 60~90분 안에 리뷰할 때 결함 발견률이 유지되고, 그 이상에서는 떨어집니다. 기계적인 문제에 쓰는 시간만큼 사람만 답할 수 있는 질문에 쓸 시간이 줄어듭니다. 이 접근이 맞는지, 아키텍처에 맞는지, 여섯 달 뒤에도 이해될지 같은 질문입니다. 도구가 리뷰어를 대신하지는 않으며 그런 척도 하지 않습니다. 쉬운 지적을 미리 걷어내서, 사람의 리뷰가 흥미로운 부분부터 시작하게 할 뿐입니다.

    • 리뷰 요청이 나가기 전에 기계적인 문제를 잡아냅니다
    • 각 항목에 diff 헌크 헤더에서 가져온 줄 번호를 붙입니다
    • 로컬에서 실행되므로 사내 코드를 붙여넣어도 안전합니다
    노트북 앞에서 코드 변경을 함께 보는 두 엔지니어
    FAQ

    검사기에 관한 질문

    이건 AI 코드 리뷰인가요, 린터인가요?
    엄밀히 말하면 둘 다 아닙니다. 규칙 기반 사전 검사기입니다. 어떤 모델도 코드를 읽지 않으며 아무것도 생성하지 않습니다. 13개 패턴 규칙이 추가된 줄을 훑어, 리뷰어가 처음 30초 안에 표시하는 항목을 찾습니다. 시크릿, 문자열로 조립한 안전하지 않은 SQL, 삼켜진 예외, 남은 디버그 출력이 여기에 해당합니다. 이 도구를 AI 리뷰라고 부르지 않는 이유는 정직하기 위해서입니다. 추측하는 AI 리뷰는 확인된 체크리스트보다 나쁘기 때문입니다.
    제 코드가 브라우저 밖으로 나가나요?
    아니요. 검사는 이 페이지의 JavaScript에서 실행됩니다. 업로드도, API 호출도, 계정도 없습니다. 기록되는 것은 도구가 사용되었다는 익명 이벤트뿐이며, 텍스트 상자의 내용은 포함되지 않습니다.
    200~400줄과 테스트 파일 규칙은 어디서 왔나요?
    크기 기준은 SmartBear의 Cisco 리뷰 데이터 연구를 따릅니다. 한 번에 200~400줄을 넘지 않게 리뷰하라는 권고입니다. 작은 변경 규칙은 Google이 공개한 작은 CL 엔지니어링 관행을 따릅니다. 테스트 누락 규칙은 우리의 규칙입니다. 테스트 파일 없이 추가된 줄이 50줄을 넘는 diff에 표시를 붙이는데, 리뷰어가 어차피 던지는 질문이기 때문입니다.
    점수는 어떻게 계산되나요?
    100점에서 시작합니다. 각 항목은 심각도에 따라 감점합니다. 높음 15점, 중간 7점, 낮음 2점입니다. 각 규칙은 최대 세 번까지만 계산되므로, 하나의 잡음이 많은 규칙이 점수를 0으로 만들 수 없습니다. 이는 작업 우선순위를 정하기 위한 규칙이지 코드 품질의 척도가 아닙니다. 100점은 어떤 규칙도 발동하지 않았다는 뜻이며, 코드가 옳다는 뜻은 아닙니다.
    무엇을 놓치나요?
    이해가 필요한 것은 모두 놓칩니다. 잘못된 비즈니스 로직, 경쟁 상태, 나쁜 추상화, 오래 버티지 못할 API가 그렇습니다. 정규식 규칙은 잘못된 탐지도 냅니다. 예를 들어 가짜 비밀번호가 들어 있는 테스트 픽스처가 그렇습니다. 모든 항목은 판정이 아니라 답해야 할 질문으로 보세요.
    어떤 언어에서 동작하나요?
    규칙은 텍스트 패턴이므로 JavaScript, TypeScript, Python, Java, Go와 대부분의 C 계열 코드에서 동작합니다. 일부 규칙은 특정 언어에만 해당합니다. bare except는 Python, System.out.println은 Java, InsecureSkipVerify는 Go의 규칙입니다. 통합 git diff를 붙여넣으면 줄 번호는 헌크 헤더에서 가져옵니다.
    무료인가요?
    네, 가입 없이 무료입니다. 리뷰하면서 저장소의 나머지 부분에 대한 답이 필요하다면, 예를 들어 이 함수를 누가 호출하는지, 어디서 설정 값을 읽는지 알고 싶다면 그때 codebasechat을 사용하세요.

    전체 리포지토리를 보면서 리뷰하세요

    diff는 무엇이 바뀌었는지는 보여주지만 무엇에 닿아 있는지는 보여주지 않습니다. codebasechat은 코드베이스에 관한 질문에 자연어로 답하므로, 승인하기 전에 바뀐 함수를 누가 호출하는지 확인할 수 있습니다.