我很清楚,可能没有"最难找的C++错误",但我仍然对其他人能想到或已经遇到的问题感兴趣。
这个问题的想法是在与朋友讨论时产生的。我们一致认为,在提交源代码时故意包含错误可以很容易地破坏cpp项目...但是我们能想到的最好办法就是使用未初始化的变量(导致运行时出现随机分段错误)。我相信还有更好的方法...?!
错误代码的所需特征:
- 乍一看必须像是有效的代码
- 不能妨碍代码编译(太明显了)
- 如果可能,错误应该看起来像是一个错误(如果有人发现它)
- 错误必须严重到足以阻止软件发布(例如随机分段错误、代码逻辑故障等)
然而,虽然必须是显眼的,但在提交代码后不应立即变得明显...你会明白我的意思。
别担心,我们的考虑纯粹是理论性的(我们没有计划破坏任何项目)。我们只是认为这是一个足够好的思维实验,可以与他人分享 :-)
简而言之:
有什么最微妙的方式可以破坏源代码,在差异提交中(如git)可能不会被注意到,但最终会阻止软件发布?