代码重构网站网站页面图片尺寸
弱点描述
Copy-paste error,复制粘贴错误。
是指在复制和粘贴代码时产生的错误。这种错误通常是由于程序员在复制代码时未正确编辑所复制的代码或编辑复制后的代码时忘记更改一些值或参数而导致的。复制粘贴错误可能会导致程序逻辑错误、编译错误或运行时错误。
示例代码
具有相同结构的两个或多个代码段,可能是因为在编写代码是复制粘贴导致的。
boolean foo(int k) {return true;}boolean bar(int k) {return true;}void stuff() {}int key1 = 1, key2 = 1;void bar() {if (foo(key1) && bar(key1)) {stuff();}// A COPY_PASTE_ERROR defect occurs here.if (foo(key2) && bar(key1)) {stuff();}}
在这段代码中,bar() 方法包含两个条件语句,用于检查不同的输入参数 key1 和 key2。每个条件语句中都包含相同的 foo() 和 bar() 方法调用,其中 foo() 和 bar() 方法都需要一个输入参数。
这段代码可能存在一个 COPY_PASTE_ERROR 缺陷,因为第二个条件语句中的 bar(key1) 方法调用可能是一个复制粘贴错误,应该使用 bar(key2) 作为输入参数,否则这个条件语句永远不会为真。
