您现在的位置: 主页 > 嵌入式软件 > C/C++ > 学点C++小知识:复制粘贴代码千万要小心
本文所属标签:
为本文创立个标签吧:

学点C++小知识:复制粘贴代码千万要小心

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-09-04 

导读: 有个国外团队检测了 200 多个 C/C++ 开源项目,包括了 Php、Qt 和 Linux 内核等知名项目。于是他们每天分享一个错误案例,并给出相应建议。

有个国外团队检测了 200 多个 C/C++ 开源项目,包括了 Php、Qt 和 Linux 内核等知名项目。于是他们每天分享一个错误案例,并给出相应建议。本篇案例来自 Audacity 源代码。

错误代码:

sampleCount VoiceKey::OnBackward (....) {

...

int atrend = sgn(buffer[samplesleft - 2]-

buffer[samplesleft - 1]);

int ztrend = sgn(buffer[samplesleft - WindowSizeInt-2]-

buffer[samplesleft - WindowSizeInt-2]);

...

}

解释:

“buffer[samplesleft - WindowSizeInt-2]” 该表达式是减去其自身。这个错误是由于复制粘贴代码引起的,该程序员复制了一行代码,却忘记把 2 改为 1 了。

正确的代码:

int ztrend = sgn(buffer[samplesleft - WindowSizeInt-2]-

buffer[samplesleft - WindowSizeInt-1]);

建议:

复制粘贴代码时千万要小心。

不建议大家拒绝使用复制粘贴的方法,毕竟它确实很有用,使用起来太方便了。但用的时候千万要小心,不要着急。

俗话说有备无患。记住复制粘贴代码可能会导致大量的错误。看看这些通过 V501 诊断发现 bug 的例子中,有一半的错误都是由于使用复制粘贴方法导致的,另外一半是因为拼写错误。当然关于这个话题,我们另一篇文章专门写到它。

当你复制代码并进行修改的时候,时刻要记得检查你是否完全做对了!千万别偷懒!

另外,我们还会讨论更多关于复制粘贴的话题,我打赌你还没意识到这个问题影响的范围有多广,但是我保证会让你印象深刻。



              查看评论 回复

游客   2018-10-17 11:15:07
说真的,我的很多代码都是复制粘贴的,但是都要调试掌握才应用到项目中的
1楼 回复本楼
游客   2018-10-17 00:09:42
不会复制粘贴不可怕,更可怕的是不会还不学习
2楼 回复本楼
匿名   2018-10-15 16:50:35
copy-paste不可怕,可怕的是不会复制粘贴
3楼 回复本楼
游客   2018-10-14 17:49:46
我也是copy-paste程序猿
4楼 回复本楼
游客   2018-10-11 21:16:18
不进行复制粘贴的程序员是程序员吗?
5楼 回复本楼


嵌入式交流网主页 > 嵌入式软件 > C/C++ > 学点C++小知识:复制粘贴代码千万要小心
 代码 错误 复制

"学点C++小知识:复制粘贴代码千万要小心"的相关文章

网站地图

围观()