Clojure程序的特定软件指标

问题描述

| 我们正在考虑编写一个静态分析器来收集Clojure代码的软件指标。当然,它将处理明显的内容,例如文件数量函数,每个函数的参数等。我想知道是否有任何特定于Clojure代码的度量标准。有任何想法吗?     

解决方法

平均而言,我认为软件指标是一个可疑的主意,它们通常使您从一个真正重要的问题上分散注意力,该问题是“我们为客户提供多少价值?”。 话虽如此,我认识到它们在某些情况下可能是必不可少的,并且偶尔可以为您提供一些有关代码库的有用见解。 因此,这可能是Clojure特有的。 顶级定义的数量(也许表示为总符号数的比率?) Java耦合:与Java互操作有关的符号的百分比(新,ClassName,.someMethod等)-理想情况下,将耦合限制在负责Java互操作的特定模块之内,即,除管理互操作的库外,其他任何地方都应保持低百分比。 函数defns的平均最大嵌套级别(我猜是5ish好,是10+很差??) 宏密度:需要宏扩展的表单的百分比 具有文档字符串的函数的百分比 类型提示定义的符号或函数参数的百分比 匿名函数的平均大小(这些应该很小!) 使用的clojure.core中的功能百分比(对“词汇范围”和代码的复杂程度有所了解) (感谢nickik!)创建了许多引用类型(动态var,atom,ref和agent)-如果您想保持对可变状态的仔细控制,这必不可少! ps。如果您能做到这一点,那么在一些不同的开源clojure项目中看到结果的变化将非常有趣!     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...