2011-03-19 3 views
3

Clojure 함수의 순환 적 복잡도를 계산하는 합리적인 방법은 무엇입니까? 'if'및 'cond'와 같은 기능을 기반으로 의사 결정 지점을 세는 것은 쉽지만 매크로가 까다로워지기 시작합니다. 누구나 Clojure 또는 다른 함수형 언어에서이 작업을 시도 했습니까?Clojure 함수의 순환 복잡도를 계산하는 방법은 무엇입니까?

+1

Clojure에서 CC가 많은 의미를 갖지는 않는다고 생각하지만, 어떤 경우에는 카운트하고자하는 것이 결정 포인트 그 자체가 아니라 가능한 실행 경로입니다. – Apalala

+1

매크로가 문제가되어서는 안됩니다. macroexpand를 사용하여 완전히 제거 할 수 있습니다. –

답변

4

매크로는 추상화이며 CC 계산에 기여하면 안되며, 함수 호출 이상이 될 수 있습니다.

그런데, 나는 CC가 Clojure에게 특히 흥미 있다고 생각하지 않는다고 말했다. 나는 가변성의 남용을 측정 한 것에 더 관심이있을 것이다.