이 Rubber Duck은 디버깅하지 않는다 — 비난한다

발행: (2026년 4월 5일 PM 07:05 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

개요

Rubber Roast — VS Code 확장 프로그램으로, 당신의 고무 오리를 판단적인 코드 비평가로 바꿔줍니다. CS50의 고무‑오리 디버깅에서 영감을 얻은 이 오리는 단순히 듣는 것을 넘어 코드를 읽고, 냄새를 찾아내며, 그에 대해 비꼬아 줍니다.

파일을 저장할 때마다 Rubber Roast는 코드 냄새를 스캔하고, 문제 라인 바로 옆에 풍자적인 인라인 주석을 달아줍니다:

  • 하드코딩된 API 키? “이 자격 증명은 잠수함의 스크린 도어만큼 안전합니다.”
  • catch(e) {}? “포켓몬 예외 처리: 모두 잡아야 해… 그리고 모두 무시해.”
  • console.log 문이 47개? “이건 프로그램이 아니라 콘솔.log 배달 시스템이야.”
  • 3 년 전 TODO 주석? “이 TODO는 47번의 스프린트와 3명의 프로젝트 매니저를 거쳤어.”

각 풍자는 심각도에 따라 색상이 지정됩니다—연한 초록색은 가벼운, 노란색은 중간, 핑크색은 매운—그리고 오리 이모지가 포함돼 누가 당신을 평가하고 있는지 바로 알 수 있습니다.

두 가지 로스트 엔진이 포함됩니다:

  • 템플릿 모드 (무료) – 수백 개의 사나운 한 줄짜리 문구, API 호출 없이 사용 가능.
  • LM 모드 – VS Code의 Language Model API를 활용해 AI 코파일럿도 당신을 비꼴 수 있게 합니다.

Rubber Roast는 내장된 정규식으로 7가지 유형의 코드 냄새를 감지합니다 (TODO/HACK, 빈 catch, 주석 처리된 코드, console.log 스팸, 하드코딩된 비밀, 긴 함수, 반복되는 매직 문자열) 외에도 린터와 언어 서버가 이미 표시하는 모든 문제(타입 오류, 사용되지 않은 변수, 폐기된 API, 린트 위반 등)를 포착합니다. 농담 뒤에는 실제 코드‑냄새 탐지기가 숨어 있습니다.

Features

  • Inline roast comments – 문제 있는 라인 옆에 이탤릭 주석 형태로 풍자적인 한 줄 코멘트가 표시되며, 심각도에 따라 색상으로 구분됩니다 (약함/보통/매운).
  • Two roast engines – 무료 템플릿 기반 로스트와 VS Code Language Model API를 통한 AI 생성 로스트 (Copilot 등 필요).
  • Auto‑roast – 파일 저장, 파일 전환, 진단 업데이트 시 자동으로 실행됩니다.

무엇이 로스팅되는가

Rubber Roast는 두 가지 소스에서 코드 냄새를 감지합니다:

내장 정규식 규칙 (린터 불필요)

냄새감지 내용
TODO/HACK 주석// TODO, // FIXME, // HACK, // WORKAROUND
빈 catch 블록catch(e) {} – 오류를 조용히 무시함
주석 처리된 코드연속된 3줄 이상의 주석 처리된 코드
하드코딩된 비밀API 키, 토큰, 고엔트로피 문자열 등
콘솔 스팸과도한 console.log
긴 함수설정 가능한 라인 수를 초과하는 함수
반복되는 매직 문자열여러 위치에서 동일하게 사용되는 리터럴 문자열

린터 및 언어 서버 진단

Rubber Roast는 또한 ESLint, TypeScript, Pyright, Ruff, rust-analyzer 등 기존 도구에서 보고된 문제들을 표시하며, 이를 로스팅 가능한 카테고리(타입 오류, 사용되지 않은 변수, 폐기된 API, 린트 위반 등)로 분류합니다.

Technical Details

  • Implementation – TypeScript, 런타임 의존성 제로.
  • VS Code Extension API – 인라인 텍스트 장식, 진단 리스너, 명령, 상태 표시줄 통합.
  • Regex‑based scanner – 사용자 정의 패턴 매칭과 라인 분류(코드 vs. 주석 vs. 문자열)를 통해 오탐을 방지.
  • Diagnostic scanner – 기존 언어 서버에 연결하고 출력 결과를 비판 가능한 카테고리로 매핑.
  • VS Code Language Model API – Copilot을 통한 선택적 AI 기반 비판(템플릿 폴백 포함).
  • Shannon entropy detection – 알려진 접두사와 일치하지 않는 하드코딩된 비밀을 탐지.
  • Bundlingesbuild가 모든 것을 단일 파일로 번들링.
  • Privacy – 외부 API 없음, 텔레메트리 없음; 모든 처리는 로컬에서 실행.

시작하기

판사들이 적합하다고 판단하는 모든 카테고리에 열려 있습니다 — 이 오리는 편애하지 않으며, 모두에게 똑같이 구워줍니다.

0 조회
Back to Blog

관련 글

더 보기 »