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