Files
document-haness/.run/executable-clean-architecture/assets/static-analysis-venn.svg
T

35 lines
3.7 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1420" height="720" viewBox="0 0 1420 720" role="img" aria-labelledby="title desc">
<title id="title">Static analysis coverage subset</title>
<desc id="desc">A smaller static-analysis set sits inside the set of all real boundary violations; caught and missed examples occupy their respective regions.</desc>
<metadata>{&quot;generator&quot;:&quot;_work/regenerate-technical-assets.py&quot;,&quot;canvas_policy&quot;:&quot;diagram-only&quot;,&quot;decorative_effects&quot;:false}</metadata>
<defs>
<marker id="arrow-ink" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#25282D"/></marker>
<marker id="arrow-muted" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#667085"/></marker>
<marker id="arrow-blue" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#1677FF"/></marker>
<marker id="arrow-purple" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#7556D8"/></marker>
<marker id="arrow-green" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#168A5B"/></marker>
<marker id="arrow-red" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#D64550"/></marker>
<marker id="arrow-amber" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#B7791F"/></marker>
</defs>
<rect width="1420" height="720" fill="#FFFFFF"/>
<ellipse cx="710" cy="370" rx="620" ry="290" fill="#FBFCFE" stroke="#68717B" stroke-width="1.8" />
<rect x="599.1" y="75" width="221.8" height="24" fill="#FFFFFF" stroke="#68717B" stroke-width="1" rx="2" />
<text x="710" y="95" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="15" font-weight="650" fill="#25282D" text-anchor="middle">실제 경계 위반 전체 · 현실</text>
<ellipse cx="520" cy="375" rx="330" ry="205" fill="#EAF3FF" stroke="#1677FF" stroke-width="2" />
<rect x="355.2" y="171" width="329.6" height="23" fill="#FFFFFF" stroke="#1677FF" stroke-width="1" rx="2" />
<text x="520" y="190" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="14" font-weight="650" fill="#0B5CC4" text-anchor="middle">정적 분석이 보는 영역 · Gradle + ArchUnit</text>
<text x="360" y="300" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="15" font-weight="650" fill="#0B5CC4" text-anchor="start">
<tspan x="360" dy="0">✅ 모듈 의존</tspan>
<tspan x="360" dy="23.2">✅ import · 호출</tspan>
<tspan x="360" dy="23.2">✅ @Transactional</tspan>
<tspan x="360" dy="23.2">✅ JPA · Lombok</tspan>
</text>
<text x="930" y="300" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="15" font-weight="650" fill="#D64550" text-anchor="start">
<tspan x="930" dy="0">❌ 문자열 조회</tspan>
<tspan x="930" dy="24.8">❌ 리플렉션</tspan>
<tspan x="930" dy="24.8">❌ 조건부 런타임 배선</tspan>
</text>
<rect x="555" y="625" width="181.9" height="30" fill="#FFFFFF" stroke="#1677FF" stroke-width="1.2" rx="15" />
<text x="646.0" y="645" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="14" font-weight="700" fill="#0B5CC4" text-anchor="middle">정적 분석 ⊂ 실제 위반</text>
</svg>