计算Chidamber and Kemerer指标的两个Java工具简介

其实工具的使用非常简单,但想通过这个日志总结和介绍一下对应的指标体系。

Chidamber and Kemerer (CK) Metrics (CK指标) 是1994年提出的一类软件源代码度量指标,和传统的McCabe和Halstead metrics相比,CK指标是专门针对面向对象编程语言提出的,对应的论文是:

S. R. Chidamber and C. F. Kemerer, “A metrics suite for object oriented design,” Software Engineering, IEEE Transactions on, vol. 20, pp. 476-493, 1994.

这篇文章在Google Scholar中的引用次数是4535次。可谓是非常高了。

第一个工具的主页在:http://www.spinellis.gr/sw/ckjm/ ,如果我们选择下载ckjm
package – .zip
这个链接,解压后在build文件夹下可以看到JAR包,在命令行下运行类似:

java -jar ckjm-1.9.jar D:\Projects\20140415-ClassCohesion\test-code-2\*.class

就可以实现对某个文件夹下所有class文件的指标计算,关于CK指标,大家也可以看看这里的介绍:http://www.virtualmachinery.com/sidebar3.htm ckjm这个工具的指标的解释在这里:http://www.spinellis.gr/sw/ckjm/doc/metric.html

另外一个工具叫做:CKJM
extended
,顾名思义,就是在前面工具的基础上,增加了很多指标的计算。使用的方法也基本相同。

时间: 2024-10-26 22:24:49

计算Chidamber and Kemerer指标的两个Java工具简介的相关文章

应用Pentaho Data Integration(Kettle) 6.1 进行数据抽取以及指标计算(三、指标计算参数输入)

在本系统中,针对计量系统的数据计算是最复杂的,其中需要采用多种转换以及公式计算,并且需要结合系统预置的一些计算参数以及每个台区的一些补充技术参数进行计算,计算的过程分为5大步骤(转换): 1. 根据系统时间获取到计量系统瞬时数据的表名(计量系统每天都会生成一个以日期命名的新表). 2. 从系统数据库中读入系统级的计算参数. 3. 计算每日指标. 4. 计算每日告警信息. 5. 计算每月指标(每月1号执行一次). 在实现上述5大步骤的同时,辅以清空重复数据以及自动重试机制,保证计算数据的正确性.

两个java工程之间的相互调用方法

如果你有两个java项目的话,如何向他们之间进行信息的通信前提:必须知道要通信的java项目(接收请求方)的服务器的IP地址和访问路径.其实两个java项目之间的通信还是使用HTTP的请求.主要有两种方式:①使用apache的HttpClient方式.②使用JDK自带的java.net包下的HttpURLConnection方式. 这次主要讲解HttpURLConnection方式:HttpURLConnection传递请求常用的有两种方式:POST和GET方式.使用setRequestMeth

介绍编译的less的两种IDE工具

现在css预编译越来越普及了,著名的有less.sass.stylus等等等等.功能上基本上都是大同小异.这些个玩意儿主要表达的意思就是:"像编程一样的编写你的css". 我在群里面看到好多的网友都是用koala这个工具编译less,这个工具我也用过,但是我觉得他很麻烦. 下面我介绍两个IDE工具,它们都能解析less,关键是不用那么麻烦,废话不多说,下面开始介绍: 第一种:webstorm (强大前端开发IDE) 我在前面的博文介绍过webstorm 安装less解析成css的文章.

黑马程序员   两道java面试题

1.List,Set,Map是否都继承了Collection接口?  List,Map比较常用:List是通过下标来访问元素,Map是通过键值进行访问元素.应该不会同时都实现了Collection接口.  Collection是一个什么概念?还有Set在java中是怎样定义的?他是通过下标来访问元素还是通过键值来访问元素?两者谁继承了Collection接口呢?或者有没有可能两者都继承了Collection接口?时间不多了,我是这样写的:  Set,Map实现了Collection接口.而Lis

两个java项目之间的通讯

两个Java项目,他们之间进行信息的通信 前提:必须知道要通信的java项目(接收请求方)的服务器的IP地址和访问路径. 其实两个java项目之间的通信还是使用HTTP的请求.主要有两种方式: ①使用apache的HttpClient方式. ②使用JDK自带的java.NET包下的HttpURLConnection方式. HttpURLConnection方式: HttpURLConnection传递请求常用的有两种方式:POST和GET方式.使用setRequestMethod()方法设置传递

Windows 7 两款激活工具(RemoveWAT,Chew-WGA)

原文链接: http://blog.sina.com.cn/s/blog_4549d6770100qy5h.html RemoveWAT---------------------------------------“WAT”是Windows Activation Technologies的缩写.“RemoveWAT”由此可中译为:“去除Windows激活技术”.实事求是地说,不如将其更名为“去除30天激活期限”来得更加实际和贴切一些. 这个破解,归根结底是对Windows 7/Server 20

使用EXCEL计算并绘制MACD指标

在本文的底部,各位读者可以获取对应的EXCEL模板. 一.MACD指标的含义与原理 MACD是由快的指数移动平均线EMA(12)减去慢的指数移动平均线EMA(26)得到快线DIF,再用2×(快线DIF-DIF的9日加权移动均线DEA)得到MACD柱. MACD的变化代表着市场趋势的变化,不同K线级别的MACD代表当前级别周期中的买卖趋势. 二.EXCEL中实现 EXCEL中,可以直接用金融函数库插件快速的计算出MACD指标.但为了便于理解,手工计算其实也很方便. 下面演示一下手工计算的过程. 步

R语言如何在生存分析与Cox回归中计算IDI,NRI指标

原文链接:http://tecdat.cn/?p=6095 读取样本数据 D=subset(pbc, select=c("time","status","age","albumin","edema","protime","bili")) D$status=as.numeric(D$status==2) D=D[!is.na(apply(D,1,mean)),] ; d

Java计算年月日时分秒时间差(两个时间相减)

//测试主方法  public static void main(String[] args) {          Date currentTime = df.parse("2004-03-26 13:31:40");   //当前系统时间             Date firstTime = df.parse("2004-01-02 11:30:24");     //查询的数据时间          String str=getTime(currentTi