Каким был бы разумный способ вычислить цикломатическую сложность функции Clojure? Считать точки принятия решений легко на основе таких функций, как 'if' и 'cond', но с макросами это становится сложнее. Кто-нибудь пробовал это для Clojure или, может быть, другой функциональный язык?
Макросы являются абстракцией и не должны вносить вклад в вычисления CC, равно как и вызов функции.
Тем не менее, я не думаю, что CC особенно интересен для Clojure. Меня больше интересовало бы то, что измеряло чрезмерное использование изменчивости.