🕸️코드 의존성 복잡도 계산기

모듈 수와 의존 관계 수를 입력하면 유지보수 난이도 점수를 계산합니다.

우리 코드베이스, 얼마나 복잡하게 얽혀 있을까?

모듈 수가 늘어나는 것 자체는 문제가 아니지만, 모듈 간 의존 관계가 지나치게 많아지면 하나를 수정할 때 예상치 못한 곳에서 버그가 튀어나오는 경우가 늘어납니다. 이 계산기는 소프트웨어 공학에서 자주 쓰이는 두 가지 지표, 모듈당 평균 의존 수와 의존성 밀도(가능한 전체 연결 수 중 실제 연결 비율)를 함께 고려해 복잡도 점수를 산출합니다.

전체 모듈 수와 의존 관계(엣지) 수만 입력하면 평균 의존 수, 밀도, 종합 복잡도 점수와 유지보수 난이도 등급을 보여줍니다. 점수가 높게 나온다면 순환 의존을 제거하거나 공통 기능을 별도 인터페이스로 분리해 직접 참조를 줄이는 리팩토링을 검토해볼 만합니다. 정확한 값은 의존성 분석 도구(예: madge, dependency-cruiser)로 추출한 수치를 입력하면 더 신뢰도가 높아집니다.

자주 묻는 질문

의존성 밀도(density)는 무엇을 의미하나요?

가능한 전체 연결 수 중 실제로 존재하는 의존 관계의 비율입니다. 밀도가 높을수록 모듈들이 서로 강하게 얽혀 있어 수정 시 영향 범위가 넓어집니다.

의존성 복잡도를 낮추려면 어떻게 해야 하나요?

순환 의존을 제거하고, 공통 기능을 별도 유틸리티나 인터페이스로 분리해 직접 참조를 줄이며, 모듈 경계를 명확히 나누는 것이 대표적인 방법입니다.