接口变化统计工具--Clirr

  最近学习Mybatis的官方文档,看到了【项目文档】一节有很多内容没有见过,做个笔记,理解一下。

  

  当写一个公共库,或者SDK,版本与版本之间迭代之后,总会发生接口的变化,而这些变化,都需要向外界进行告知,同时也是自己需要统计代码质量的一个途径。

  其实,写个自动化工具,维护各个类的各个方法参数+返回值,然后做对比就好了。但是,怎么对比呢?晚上回去看看,应该很有意思。

 

  Clirr就是完成这样一个目标的工具,它的实例输出如下:

  

API Incompatibilities

 

SeverityMessageClassMethod / Field
Error Return type of method 'public boolean flushCache()' has been changed to org.apache.ibatis.annotations.Options$FlushCachePolicy org.apache.ibatis.annotations.Options public boolean flushCache()
Error Method 'public java.lang.String resultSets()' has been added to an interface org.apache.ibatis.annotations.Options public java.lang.String resultSets()
Error Method 'public java.lang.String id()' has been added to an interface org.apache.ibatis.annotations.Results public java.lang.String id()

 

  

 

posted @ 2016-05-16 18:22  二郎那个三郎  阅读(510)  评论(0编辑  收藏  举报