克隆检测工具的“武林大会”
一、克隆类型:从“全等克隆”到“语义克隆”
代码克隆就像“复制粘贴的孪生兄弟”,根据相似度可分为四类:
类型 |
描述 |
示例 |
Type-I |
完全一致(连空格都一样) |
System.out.println("Hello"); 复制粘贴 |
Type-II |
标识符不同,结构一致 |
printUser() 改成 printEmployee() |
Type-III |
结构相似,语句增删 |
if-else 中加了个 log.info() |
Type-IV |
功能等价但语法不同 |
for 循环改写成 Stream |