Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Architecture 如何度量代码库中的冗余?_Architecture_Software Design_Redundancy_Entropy - Fatal编程技术网

Architecture 如何度量代码库中的冗余?

Architecture 如何度量代码库中的冗余?,architecture,software-design,redundancy,entropy,Architecture,Software Design,Redundancy,Entropy,我继承了一个中等规模的代码库,它唯一的编程范例似乎是复制粘贴。实际上,有几十个代码片段可以很容易地参数化,并由一个简单的函数调用代替。代码不是任务关键型的,因为它是“唯一”测试代码。然而,这使得合并变更成为一种痛苦 (研究中)是否有衡量冗余量的指标 人们如何计算它们的价值呢 脑海中浮现的天真方法: 查看代码的压缩程度 成对diff所有文件并计数相等或相似的行。与中相似:只有一个词不同 您正在寻找的是克隆检测,这是一个已建立的研究领域,有许多工具可用于检测代码中的克隆 用于量化代码中冗余量的

我继承了一个中等规模的代码库,它唯一的编程范例似乎是复制粘贴。实际上,有几十个代码片段可以很容易地参数化,并由一个简单的函数调用代替。代码不是任务关键型的,因为它是“唯一”测试代码。然而,这使得合并变更成为一种痛苦

  • (研究中)是否有衡量冗余量的指标
  • 人们如何计算它们的价值呢
脑海中浮现的天真方法:

  • 查看代码的压缩程度
  • 成对
    diff
    所有文件并计数相等或相似的行。与中相似:只有一个词不同

您正在寻找的是克隆检测,这是一个已建立的研究领域,有许多工具可用于检测代码中的克隆

用于量化代码中冗余量的中心度量称为克隆覆盖率。它测量属于冗余部分的代码行的百分比。它可以解释为当您更改随机选择的代码时,更改也必须在另一个位置执行的概率


例如,可以检测克隆并计算克隆覆盖率的工具有和。您可以找到代码克隆和克隆检测的介绍。

它是什么编程语言?InteljIdea有一些很好的代码重复检测(php/java/javascript)。“逻辑复制”可能只有人类的眼睛才能看到它的VBScript,所以我可能会不知所措。。。