code-duplication相关内容

重复代码在单元测试中更能容忍吗?

前段时间,当我完成并重构它们以使它们更加DRY时,我毁掉了几个单元测试--每次测试的意图不再清晰.测试的可读性和可维护性之间似乎存在权衡.如果我在单元测试中留下重复的代码,它们会更具可读性,但是如果我更改 SUT,我将不得不追踪并更改重复代码的每个副本. 您是否同意这种权衡存在?如果是这样,您更喜欢测试可读性还是可维护性? 解决方案 重复代码在单元测试代码中就像在其他代码中一样有异味 ..
发布时间:2021-12-09 19:12:01 其他开发

如何删除类似的 const 和非常量成员函数之间的代码重复?

假设我有以下 class X,我想在其中返回对内部成员的访问权限: Z 类{//细节};X级{std::vectorvecZ;民众:Z&Z(size_t 索引){//用于验证索引的大量代码Z&ret = vecZ[索引];//用于确定 Z 实例的更多代码//在索引处 * 恰好 * 是正确的 Z 类型(一个进程//这涉及计算闰年,其中//宗教节日在星期二//未来一千年左右)返回 ret;}cons ..
发布时间:2021-12-01 15:09:06 C/C++开发

检测 Visual Studio 2010 中的重复代码

Clone Detective 是在 VS 2008 中查找重复代码的绝佳工具. 是否有任何工具可以查找集成到 VS 2010 中的重复代码? *Clone Detective 看起来并没有被积极开发1 2. 解决方案 (几周后您似乎没有得到任何答案...暗示没有任何方案可以完全满足您的要求). 我们的 CloneDR 是一种检测 C# 4.0 和现代 Microsoft ..
发布时间:2021-09-18 20:38:39 其他开发

根据所有派生策略的基本策略工作获取模板类专业化

我有源自基本政策的政策.一些类专用于派生策略,而其他类仅专用于基本策略并可与所有派生策略一起使用. 我遇到的问题是代码重复太多(主要是类本身的构造函数和一些样板代码).下面的代码可以更好地解释我的意思: struct BasePolicy {};struct DerivedPolicy1 : public BasePolicy {};struct DerivedPolicy2 : publ ..
发布时间:2021-09-04 20:53:51 C/C++开发

何时何地调用 EventQueue.invokeLater() 方法

我对线程和 GUI 完全陌生,因此我不知道在哪里调用这个 EventQueue.invokeLater() 方法. 我应该在每个事件侦听器和其他东西中调用它吗?调用这个方法的那些“东西"是什么?如果是这样,是否有任何替代方法可以调用一次应用无处不在的方法,以便它不会花费大量的行将它们塞到事件调度线程中? 谢谢. 解决方案 因此,我无法确定在何处调用此 EventQueue. ..

由原始类型引起的代码重复:如何避免精神错乱?

在我的一个Java项目中,由于Java处理(非)原语的方式,我受到代码重复的困扰.在必须将相同的更改手动复制到四个不同的位置( int , long , float , double )之后,em>再次,在第三次,再次和再次,我真的很接近(?)捕捉. 以各种形式,此问题已不时出现在StackOverflow上: 使用Java管理高度重复的代码和文档 在使用基本类型时如何避免重复? ..
发布时间:2021-05-18 19:23:27 Java开发

通过注释抑制IntelliJ IDEA中的重复警告

从版本15开始, IntelliJ就代码重复警告我. 在某些情况下,这可能是有意的,因此我想通过使用@SuppressWarnings批注忽略/抑制此警告.但是正确的值是什么? 编辑:我不是要完全像问题中那样禁用这种检查解决方案 这对我有用.如果要在两个地方都禁止显示警告,则必须在两个类/方法上都设置它. @SuppressWarnings("Duplicates") priv ..
发布时间:2020-11-29 20:46:29 其他开发

如何在不重复其签名的情况下强制模板化函数的特定实例化?

对于某些特定的模板参数,我需要实例化具有长签名的模板化函数foo(). 我只是阅读了此问题的答案,该答案本质上是建议复制函数签名但设置特定参数.我想以某种方式避免这种情况.有什么合理的方法来实现这一目标?例如可以让我写东西的东西 INSTANTIATE(foo, template_arg1, template_arg2); 或者也许 MyFunctionType ..
发布时间:2020-11-29 06:23:13 C/C++开发

如何避免在具有许多实例变量的类中使用getter/setter方法

我会尽量简短. 我有很多实例变量(超过30个)的类,因此有许多getter/setter方法.这些类本身很简单,但是由于LOC的getter/setter方法引起的爆炸(并且代码重复性也过多). 所以我删除了属性并将其存储在地图中,就像这样 public class MyTechnicalToolClassX { //...constructor private Map ..
发布时间:2020-11-13 21:19:45 Java开发

处理递归和类型时如何减少代码重复

我目前正在为一种编程语言开发一个简单的解释器,并且我有一个像这样的数据类型: data Expr =可变字符串 |数字整数 |添加[Expr] | Sub Expr Expr 我有很多函数可以执行以下简单操作: -用变量 的值替换replaceName :: String->整数-> Expr-> Expr 替代名称name newValue = g ..

单元测试中重复的代码是否更容忍?

前段时间,我破坏了几个单元测试,并对它们进行了重构以使其更加完善。 DRY -每次测试的目的不再明确。在测试的可读性和可维护性之间似乎需要权衡取舍。如果我将重复的代码留在单元测试中,则它们更具可读性,但是如果我更改 SUT ,我将不得不查找并更改重复代码的每个副本。 您是否同意这种折衷方案存在?如果是这样,您是希望测试是可读性还是可维护性? 解决方案 重复的代码只是单元测试代码中的一 ..
发布时间:2020-10-26 22:45:52 其他开发

您使用什么重复检测阈值?

我们都认为重复是邪恶的,应该避免(不要重复自己的原则)。 为确保这一点,应使用静态分析代码,例如 Simian (多语言)或克隆侦探(Visual Studio加载项) 我刚刚阅读了 Ayende的关于科比的帖子,他说的是: 8.5%的科比是复制&粘贴的代码。这就是灵敏度 调高的情况,如果我们将阈值 设置为3(这是我通常的做法),则 会上升到12.5%。 我认为3作为阈值 ..
发布时间:2020-10-04 19:02:27 其他开发

如何删除或最小化将提供相同功能和行为的代码重复?

我有一组派生类,并且正在使用一个函数在实例化或创建类时自动更新其内部ID值。最初,我在他们的基类或超类中具有此功能,并且正在工作,可以为我提供正确的结果。但是,作为设计决策,我正在更改此行为。 在第一个版本中,每次 Component 正在构造对象,即使子类型不同,附加的数值也会增加。我不要这种行为我希望每个子类都从 [0] 开始并向上计数... 我移动了执行此计算的函数,追加了从基类 ..
发布时间:2020-09-28 02:48:13 C/C++开发

有关基本数组的Java泛型方法代码重复问题

因此,我正在为一个小型个人实用程序库实现Grid类的实现。完成大量工作后,我将整理Grid类并添加一些功能。我希望与Grid类一起使用的关键功能之一就是能够将任意给定类型的单个2D数组作为构造函数的参数。 这很好用,直到我意识到我无法编译任何试图将任何原语数组传递给构造函数的代码。由于自动装箱不会在原始数组上发生,因此这以代码重用的形式向我提出了一个设计问题。不管传入的数组类型如何,初始化G ..
发布时间:2020-09-24 21:20:40 Java开发

汇编语言的自动代码重复数据删除?

我一直在浏览一些汇编编程视频,以更好地了解如何手动优化* .s使用gcc/g++ -S ...编译后剩下的文件重构冗余代码演示如何将冗余代码移至其自己的带标签块,并以视频中给出的示例是2个块,其中包含: mov eax,power mul ebx mov power,eax inc count 用call CalculateNextPower替换的 和CalculateNextPowe ..
发布时间:2020-09-12 23:24:59 其他开发