Component Stress Complexity 와 Number of duplicated code lines 을 지원하나요?

수정일 목, 23 10월 시간: 3:48 PM

1. Component Stress Complexity

STATIC에서 제공하는 FUCYC(Cyclomatic Complexity) , FUNCR(Number of Callers) , FUNCE(Number of Callees)  메트릭을 이용해 계산할 수 있는 메트릭입니다.

아래 공식을 이용해 계산할 수 있습니다.

Component Stress Complexity = (FUCYC * (FUNCR * FUNCE))^2 

*참고

  • FUCYC(Cyclomatic Complexity)
    FUCYC는 잘 알려진 메트릭으로 함수 복잡도를 의미합니다. 함수 복잡도는 구하는 방식이 여러 가지가 있습니다. 방법은 분기를 만드는 결정문(decision)의 개수 + 1을 하여 얻는 것입니다. 일반적으로 이 값이 클수록 함수의 논리 구조가 복잡하여 함수를 파악하는데 어렵고, 따라서 관리가 어려움을 의미합니다.

  • FUNDC(Number of Distinct Callees)
    FUNDC는 해당 함수가 호출하는 함수의 개수를 표시합니다. 함수를 많이 호출하는 함수는 그만큼 다른 함수에 대한 의존도가 높습니다. 따라서 의존하는 함수의 의미가 변경될 때마다, 해당 함수의 의미 변경도 동시에 고려되어야 합니다. 이 값은 FUNCE와 비슷하지만, 호출되는 함수의 개수를 세기 때문에, 같은 함수를 여러 번 호출했더라도 한 번만 세어집니다.

  • FUNCR(Number of Callers)
    FUNCR 메트릭은 해당 함수가 외부에서 얼마나 많이 호출되었는지를 표시합니다. 일반적으로 많이 사용되는 함수일수록 더 많은 테스팅 노력이 필요합니다. 이 메트릭은 모듈의 분석이 완료되어야 측정이 가능합니다. 분석이 수행될 때마다 새로이 갱신됩니다.

  • FUNCE(Number of Callees)
    FUNCE는 FUNDC와 동일하지만, 중복된 함수 호출 개수도 결괏값에 포함시킵니다.



2. Number of duplicated code lines

STATIC에서 미지원하는 메트릭입니다. PMD와 같은 오픈 소스 프로그램을 이용하여 측정할 수 있습니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.