Clojure程序的特定软件指标

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

要回复问题请先登录注册