gpt4 book ai didi

language-agnostic - 如何找到类似的代码片段?

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

有没有人有一些工具或一些推荐的做法来找到与其他代码相似的代码?

我经常写一个函数或代码片段,我记得我之前已经写过类似的东西,并且我想重用以前的实现,但是使用纯文本搜索并不能显示任何内容,因为我没有使用变量名。完全一样。

具有相似的代码片段会导致不必要的代码重复,但是,如果代码基数较大,则不可能将所有代码都保留在内存中。是否有任何工具可以对代码和标记的片段或在功能上“相似”的功能进行一些分析?

考虑以下示例:

  float xDistance = 0, zDistance = 0;
if (camPos.X()<xgMin) xDistance = xgMin-camPos.X();
if (camPos.X()>xgMax) xDistance = camPos.X()-xgMax;
if (camPos.Z()<zgMin) zDistance = zgMin-camPos.Z();
if (camPos.Z()>zgMax) zDistance = camPos.Z()-zgMax;
float dist = sqrt(xDistance*xDistance+zDistance*zDistance);


  float distX = 0, distZ = 0;
if (cPos.X()<xgMin) distX = xgMin-cPos.X();
if (cPos.X()>xgMax) distX = cPos.X()-xgMax;
if (cPos.Z()<zgMin) distZ = zgMin-cPos.Z();
if (cPos.Z()>zgMax) distZ = cPos.Z()-zgMax;
float dist = sqrt(distX*distX +distZ*distZ);

在我看来,这已经被询问过几次了:

https://stackoverflow.com/questions/204177/what-tool-to-find-code-duplicates-in-c-projects

How to detect code duplication during development?

我建议在这里关闭重复。

实际上,我认为这是一个比较笼统的搜索问题,例如:如何搜索是否已在StackOverflow上问过该问题?

最佳答案

您可以使用Simian。它是一种检测Java,C#,C++,XML以及更多(甚至是纯txt文件)中重复代码的工具。它甚至可以很好地集成到CruiseControl之类的工具中。

关于language-agnostic - 如何找到类似的代码片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/709744/

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