AI가 짠 코드,
설명할 수 있나요?

테스트 커버리지가 실행된 줄을 보여주듯, CRDD는 내가 설명할 수 있는 코드를 보여줍니다. 레포를 연결하고 퀴즈를 풀면 설명하지 못한 부분이 부채비율로 드러납니다.

레포 분석은 로그인한 뒤에 할 수 있습니다. GitHub 레포 권한은 요청하지 않습니다.

먼저 둘러보려면 porklog 데모를 열어 보세요. 로그인 없이 볼 수 있습니다.

src/lib/toc.tsporklog
23export function extractToc(markdown: string): TocItem[] {// 첫 시도에 설명함
24 const slugger = new GithubSlugger();
25 const items: TocItem[] = [];
26 let inCodeFence = false;
27
28 for (const line of markdown.split("\n")) {// 힌트를 보고 설명함
29 if (/^\s*(```|~~~)/.test(line)) {
30 inCodeFence = !inCodeFence;
31 continue;
32 }
33 if (inCodeFence) continue;
34
35 const match = /^(#{2,3})\s+(.*)$/.exec(line);// 설명하지 못함
36 if (!match) continue;
37
38 const text = plainText(match[2]);// 아직 묻지 않음
39 if (!text) continue;
40
41 items.push({
42 depth: match[1].length as 2 | 3,
43 text,
44 id: slugger.slug(text),
45 });
46 }// 첫 시도에 설명함
47
48 return items;
49}
첫 시도에 설명함힌트를 보고 설명함설명하지 못함아직 묻지 않음

동작 방식

  1. 레포를 연결합니다

    public 레포의 import·호출 관계를 읽어 코드를 개념 단위로 묶습니다. LLM은 쓰지 않습니다.

  2. 그 코드로 질문합니다

    개념 하나를 고르면 실제 코드를 근거로 세 문항을 냅니다. 틀리면 힌트, 그다음 설명이 열립니다.

  3. 설명하지 못한 곳이 부채로 남습니다

    첫 시도 정답과 설명을 보고 맞힌 답은 점수가 다릅니다. 지도에서 부채가 높은 곳부터 갚아 나갑니다.