方法自动检测find_first_of()和族不正确的情况
Method to automatically detect cases of incorrect find_first_of() and family
我正在进行一个软件项目,发现了许多错误使用find_first_of()、find_first_not_of()、find_last_of(。这些std::string方法为一组要搜索的字符使用字符串参数,而开发人员真正的意思是使用compare()、find()或rfind(),它们为一个要搜索的字符串使用字符串参数。
现在,如果能教育每个人,再也不会发生这种情况,那就太好了。然而,我想创建一个代码检查器来识别可疑的用法,并标记它们以供审查,试图以半通用的方式半自动化地解决这个问题。
我正在寻找好的启发式方法来发现大多数问题,很少有误报。什么样的正则表达式搜索模式可能有效,或者有人能想出其他建议来尝试自动解决这个问题,以获得大多数出现的情况吗?
请不要草率地回答雇佣更好的开发人员之类的问题,我希望在现有资源的情况下改善这种情况。
实际上,在这种情况下,您需要目视检查对find_first_of
和朋友的每次调用。看起来通常不会有很多电话,当你验证它们是否正确时,你可以用某种方式对它们进行标记。通过检查所有电话,您可以确信现有问题已得到解决。
我能想到的唯一启发式方法是,如果"compare to"字符串不是文字或常量,那么它更有可能是不正确的。
相关文章:
- 使用2个键的cpp-stl::优先级队列排序不正确
- 正弦级数方程计算不正确
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- 密码登录程序将永远循环并显示不正确的结果
- 在C++中返回不正确的楼层函数值
- 形状对象的旋转和缩放不正确C++
- C++ 读取文件读取文件不正确
- 关于类的 Python 文档 - 对C++的引用不正确
- 特征 LLT 模块给出不正确的结果?
- glibcxx STL 在实现 std::valarray::sum() 时是否不正确?
- 如果语句逻辑不正确
- 来自逆 vp 矩阵和相机位置的光线方向不正确
- 我是否访问了已释放的内存,或者在这种情况下DrMemory报告不正确?
- 在这种情况下,为什么Sfinae对我来说不正确以及如何修复它
- 是否有任何情况将push_back替换为emplace_back不正确
- 为什么编译器在这种情况下选择了不正确的函数重载
- 名称不正确的文件(在不指定路径的情况下重命名)将移动到哪里
- Switch 中的多个情况不正确,未生成编译器错误
- 方法自动检测find_first_of()和族不正确的情况
- 这种情况似乎不起作用。(while (dAmount != (2*dbAmount)))此外,第一次计算不正确 o.O