弱点描述
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()