빌드 및 설계
소프트웨어 아키텍트를 위한 CppDepend
종속성 그래프를 마스터하고, 아키텍처 규칙을 적용하며, CQLinq로 순환 종속성을 방지하세요.

의존성 그래프 마스터
아키텍처는 종속성 속에 존재하고, 종속성은 PowerPoint가 아닌 코드 속에 존재합니다. CppDepend는 빌드에서 직접 실시간 대화형 종속성 그래프를 생성합니다: 프로젝트, 네임스페이스, 클래스 및 메서드가 노드이고 사용 관계가 가중치가 있는 엣지입니다.
30,000피트 뷰에서 단일 메서드 호출까지 확대하세요. 종속성 매트릭스는 천 개의 화살표보다 DSM이 더 빨리 읽히는 밀집된 코드베이스에서 그래프를 보완합니다.
- 실제 코드에서 생성된 그래프 — 항상 최신, 결코 이상적이지 않음
- 여러 수준: 애플리케이션, 프로젝트, 네임스페이스, 타입, 메서드, 필드
- 예상치 못한 결합을 정확히 찾아내는 종속성 매트릭스(DSM)
- 다이어그램 내뵴보내기 및 팀과 공유

아키텍처 규칙 적용
적용되지 않는 아키텍처는 조용히 침식됩니다. CQLinq를 사용하면 설계 결정 — 레이어링, 허용된 종속성, 금지된 API, 명명 스킴 — 을 모든 분석에서 검사되는 실행 가능한 규칙으로 전환할 수 있습니다.
"UI 코드는 영속성 계층에 접근해서는 안 된다" 또는 "팩토리만 구현을 인스턴스화할 수 있다"와 같은 규칙을 작성하면 다음 빌드에서 위반 목록을 얻을 수 있습니다. CppDepend에는 규칙에 맞게 조정할 수 있는 수십 개의 사전 정의된 아키텍처 규칙이 함께 제공됩니다.
- 몇 줄의 CQLinq로 레이어링 및 컴포넌트 규칙 표현
- 일반적인 아키텍처 패턴에 대한 사전 정의된 규칙
- 베이스라인 비교와 함께 커밋별로 보고되는 위반
- 공유 가능한 규칙 파일로 코드와 함께 버전 관리되는 규칙

CQLinq로 순환 의존성 방지
순환 종속성은 소프트웨어 아키텍처의 원죄입니다: 코드를 테스트, 재사용 또는 분할할 수 없게 만듭니다. CppDepend는 모든 수준 — 컴포넌트, 네임스페이스 및 클래스 간 — 에서 순환을 탐지하고 이를 끊기 위해 제거해야 할 최소 엣지 집합을 보여줍니다.
더 중요한 것은 CQLinq 규칙이 새로운 순환이 나타나는 날 빌드를 실패시킬 수 있다는 것입니다. 문제가 200개가 되기 전, 하나의 종속성일 때 수정됩니다.
- 프로젝트, 네임스페이스 및 타입 간 자동 순환 탐지
- 시각적 순환 탐색기가 제거할 엣지 제안
- 품질 게이트: 새로운 순환이 있으면 빌드 실패
- 추세 메트릭으로 시간에 따른 순환 수 추적

CppDepend가 코드에서 무엇을 찾는지 확인해 보세요
무료 평가판을 다운로드하고 몇 분 만에 자체 코드베이스 전체를 분석하세요.
