피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Tree-Sitter AST 기반의 자동화된 아키텍처 분석 및 리팩토링 전략
How I Built an Architecture Analyzer with Tree-Sitter AST (and What I Learned About Code Quality Metrics)
AI 요약
Context
코드베이스 성장 과정에서 발생하는 점진적인 아키텍처 부식 문제. 잘못된 레이어 참조와 God Class 등장 및 순환 참조 발생. 코드 리뷰 단계에서의 수동 감지로 인한 리팩토링 비용 증가.
Technical Solution
- Tree-Sitter AST 파싱을 통한 구문 분석 기반의 구조적 의존성 그래프 추출 방식
- Modularity, Coupling, Cohesion, Layering 4개 지표를 활용한 정량적 아키텍처 스코어링 체계
- .architect.rules.yml 파일을 통한 Architecture as Code 기반의 경계 설정 및 금지된 임포트 정의
- CI 파이프라인 통합을 통해 아키텍처 위반 시 빌드를 실패시키는 Quality Gate 적용 전략
- Claude, GPT, Gemini 등 LLM을 활용하여 Hub Splitting 및 Barrel Optimization 등 5가지 룰 기반 리팩토링 자동화
- Git 이력 기반의 ML 회귀 분석을 통해 3-6개월 후의 아키텍처 점수를 예측하는 Forecast 기능
Impact
- Modularity(40%), Coupling(25%), Cohesion(20%), Layering(15%) 가중치 기반의 점수 산출 체계 구축
Key Takeaway
정규표현식 기반의 패턴 매칭보다 AST 분석이 정확한 의존성 그래프 도출에 필수적임. AI 자동화 과정에서도 인간의 승인 및 롤백 단계가 포함된 Human-in-the-loop 설계가 안정성을 보장함.
실천 포인트
아키텍처 부식 방지를 위해 AST 분석 도구를 CI에 통합하고 정량적 Quality Gate를 설정할 것