VisualStudio 2017 15.6中的C++核心检查:预览2

点这里看中文版

null

这篇文章是由Sergiy Oryekhov写的。

请注意,docs.microsoft.com的某些链接尚未解析。并不是所有的官方文件都是针对这个主题编写的。

Visual Studio 2017 15.6预览版2 包括一组更新到C++核心指南检查扩展。我们添加了更多的检查,以帮助使代码更干净、更安全和可维护。本文档简要介绍了新规则。有关这些规则的更多详细信息以及可用规则的更新列表,请参见:

此版本还改进了本机代码分析工具的用户体验:

Visual Studio 2017 15.6预览2的C++静态分析改进

新规则集

此版本中引入了两个新的规则类别以及相应的规则集文件,可以在项目配置中选择这些文件来过滤静态分析结果:

  • 算术规则 这些规则关注算术运算可能导致数据丢失、未定义行为或溢出的情况。
  • 生存期规则 这组规则以前以实验C++核心检查的形式发布(这仍然是可用的)。对于15.6版本,它被完全重写,第一个版本已经准备好进行评估。主要的重点是捕捉非常危险的情况,在这种情况下,代码可以访问由于内容的生存期结束而不再有效的内存位置(例如,局部变量不再在作用域中并且已被销毁)。

新规则

  • 班级规则

    • C26433明确覆盖 当一个方法重写一个基虚函数时,它应该使用“override”说明符来清楚地说明这一点。
    • C26435单u虚拟u规范 方法应该通过使用单个说明符(“virtual”、“override”或“final”)清楚地说明其虚拟行为的类型。
    • C26443无u显式u数据或u覆盖 析构函数是非常特殊的方法,它们的指导原则不同于OVERRIDEu显式规则:如果基类有虚拟析构函数,建议依赖隐式重写。
  • 申报规则

    • C26444无未命名对象 此规则有助于检测一些常见的情况,即创建并立即丢弃可能昂贵的对象。这通常表示调用结果被忽略或资源处理效率低下。

最后

好的工具可以帮助您维护和升级代码。C++核心指南是一个很好的开始,C++核心指南检查器可以帮助您清理代码并保持代码整洁。试用VisualStudio 2017版本15.6中的扩展C++核心指南检查器,让我们知道您的想法。

如果您对我们有任何反馈或建议,请告知我们。我们可以通过以下评论和电子邮件联系到您( visualcpp@microsoft.com )你可以通过 帮助>报告产品中的问题 ,或通过 开发者社区 . 你也可以在Twitter上找到我们( @视觉 )还有Facebook( msftvisualcpp软件 ).

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享