gpt4 book ai didi

diff - 项目源代码的什么距离度量有意义?

转载 作者:行者123 更新时间:2023-12-04 18:09:52 26 4
gpt4 key购买 nike

<分区>

我想比较两个项目阶段的源代码变化,例如可扩展之前的 Web 应用程序源代码,以及可扩展的源代码。

对我来说,显示需要更改、删除或添加多少行才能从一个阶段转到另一个阶段很有趣。我正在寻找一个好的距离度量,它奖励更少的代码和很少的代码更改——我想象的那个会输出一个相对值:

0%   = "Both projects are the same"
50% = "Half of the source code has been changed"
100% = "Both projects have nothing in common"

我特意想出了几个解决方案:

  1. diff:可能将所有文件合并到一个源代码文件中,然后对它们运行 diff。这里的问题是代码越少越好,但此解决方案被视为简单更改,因此会惩罚代码删除。
  2. Levenshtein Distance :计算将源代码a 转换为源代码b 所需的更改。结果是字符的一些变化。这里的问题又是,代码删除不是奖励而是惩罚。
  3. Unified Code Count : 设置规则如何一致地计算代码行数,但不是项目之间的描述性距离度量。

所以我正在寻找一个描述性的指标,奖励代码删除并且只计算代码更改或添加。它不必特定于源代码,两个项目都使用相同的语言。我个人的感觉进入了diff方向,但我没有想出一个令人满意的描述性指标。

你会提出什么建议?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com