Каким будет разумный способ вычислить цикломатическую сложность функции Clojure? Легко подсчитать точки принятия решения на основе таких функций, как if и cond, но с макросами становится все сложнее. Кто-нибудь пробовал это для Clojure или, может быть, для другого функционального языка?
Как рассчитать цикломатическую сложность функции Clojure?
comment
Не думаю, что CC имеет много смысла в Clojure, но, в любом случае, вы хотите подсчитывать не точки принятия решений как таковые, а возможные пути выполнения.
- person Apalala   schedule 20.03.2011
comment
Макросы не должны быть проблемой; вы можете использовать macroexpand, чтобы полностью избавиться от них.
- person Joost Diepenmaat   schedule 20.03.2011
Ответы (1)
Макросы - это абстракция, и они не должны участвовать в вычислении CC, как и вызов функции.
Тем не менее, я не думаю, что CC особенно интересен для Clojure. Меня бы больше интересовало то, что измеряет чрезмерное использование изменчивости.
person
Stuart Dabbs Halloway
schedule
06.04.2011