Tag: 代码重复

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

在我的一个Java项目中,由于Java处理(不)基元的方式,我被代码重复所困扰。 再次手动将相同的更改复制到四个不同的位置( int , long , float , double ) 之后 ,我第三次一次 又一次地逼近(?)来捕捉。 以各种forms,现在这个问题已经在StackOverflow上提出来了: 在Java中pipe理高度重复的代码和文档 处理原始types时如何避免重复? 将原始dynamic列表传递给Java方法 共识似乎汇聚到了两种可能的select: 使用某种代码生成器。 你能做什么? 这就是生活! 那么第二个解决scheme就是我现在正在做的事情,它正在慢慢地变得对我的理智危险,就像众所周知的酷刑技术一样 。 自从这些问题被问及Java 7出现以来,已经过去了两年。 因此,我希望有一个更简单和/或更标准的解决scheme。 Java 7是否有可能缓解这种情况下的压力 ? 在浓缩的变更摘要中我找不到任何内容,但是也许在某处有一些晦涩的新function? 虽然源代码生成是一种替代scheme,但我更喜欢使用标准JDKfunction集支持的解决scheme。 当然,使用cpp或其他代码生成器可以工作,但它增加了更多的依赖关系,并需要对生成系统进行更改。 似乎只有JDK支持的唯一的sorting代码生成系统是通过注释机制。 我设想一个处理器可以像这样扩展源代码: @Primitives({ "int", "long", "float", "double" }) @PrimitiveVariable int max(@PrimitiveVariable int a, @PrimitiveVariable int b) { return (a > b)?a:b; } 理想的输出文件将包含这个方法的四个要求的变化,最好与相关的Javadoc注释等。有没有一个注释处理器来处理这种情况? […]

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

比方说,我有以下class X ,我想返回到内部成员的访问权限: class Z { // details }; class X { std::vector<Z> vecZ; public: Z& Z(size_t index) { // massive amounts of code for validating index Z& ret = vecZ[index]; // even more code for determining that the Z instance // at index is *exactly* the right sort of Z (a process // which […]