26得票4回答
自动查找剪贴复制代码的工具存在吗?

有没有工具可以在一组文件中自动查找复制粘贴的代码? 我想要编写一个脚本来进行搜索,只查找相等的字符串,但这样的脚本会找到大量不相关的相等性。 (例如private final static ...)。

24得票3回答
使用C++11的复制和移动时避免代码重复

C++11的“移动”是一个很好的功能,但当与“复制”同时使用时,我发现难以避免代码重复(我们都讨厌这种情况)。下面的代码是我实现的一个简单循环队列(不完整),其中两个push()方法几乎相同,除了一行。 我遇到过许多类似的情况。有什么办法可以避免这种代码重复而不使用宏吗? === 编辑 =...

22得票8回答
Java多类型方法参数?

我想知道是否有可能要求Java方法参数是来自有限类型集合中的任何类型。例如,我正在使用一个库,其中两种(或更多)类型具有共同的方法,但它们在类型层次结构中的最低公共祖先是Object。我指的是这里: public interface A { void myMethod(); ...

20得票20回答
代码重复的合理理由是什么?

我目前正在审查一个非常古老的C++项目,并且发现有很多代码重复。 例如,有一个类有5个MFC消息处理程序,每个处理程序都包含10行相同的代码。或者在这里和那里都有一个5行的片段用于非常特定的字符串转换。在这些情况下,减少代码重复根本不是问题。 但是我有一种奇怪的感觉,可能我对某些事情存在误...

19得票9回答
跟踪实用类

最近我越来越对在项目代码库中出现的问题感到沮丧。 我正在开发一个有超过100万行代码的大型Java项目。接口和类结构设计得非常好,编写代码的工程师也非常熟练。问题是,在试图使代码更清晰的情况下,人们每当需要重用某些功能时就会编写Utility类,导致随着项目的不断增长,越来越多的Utilit...

17得票5回答
如何将一些代码放入多个命名空间而不重复这些代码?

假设我在两个不同的命名空间中定义了这个方法:namespace foo { void print() { //do work... } } namespace bar { void print() { //do work...

17得票4回答
Python中使用Mock时避免冗余的@patch

我有静态编程语言的背景,想知道在Python中如何最好地进行模拟。我习惯于使用依赖注入,在测试中创建模拟对象并将其传递给被测系统 (SUT)。然而,看到Python中的Mock和其他模拟框架时,似乎它们会按测试替换模块中的类型/函数等。 具体来说,在每个单元测试中,使用 Mock,你需要为要...

15得票4回答
在 PHP 项目中识别重复的代码

我有一个单独的PHP文件,位于一个至少有几千行代码的旧项目中。它主要通过一个具有大约10个case的switch语句将不同的条件块分离开来。在每个case中似乎都有一个非常相似-如果不是完全重复的-代码块。我应该采用哪些方法来确定这些代码块是否相同或非常相似,以便我可以将这些代码抽象出来并开始...

15得票1回答
如何避免在具有语义相等的字段/属性的不同结构体中出现代码重复?

给定这两个结构体: pub struct RectangleRenderer { canvas: Canvas, origin: Point, shape: Rectangle, } pub struct CircleRenderer { canvas: C...

14得票6回答
如果两个类继承不同的类,最好的避免重复代码的方法是什么?

我正在开发一个Android项目,遇到了这种情况。 我有2个类:class A extends B { openDoor(){ //impl } closeDoor(){ //impl } } class X extends Y{ openDoor(){ //impl } clo...