彩票走势图

C / C ++应用代码防范最佳实践(一)

原创|行业资讯|编辑:龚雪|2016-02-18 12:40:21.000|阅读 135 次

概述:C/C++程序员的工作面临着比其他语言的程序员不同的挑战和领域。真正的新项目中使用C++是罕见的。如今C++项目通常涉及修改或现有系统的延伸。为一个新的应用程序重构可用的代码,或用新的方法整合现有模块。最常见的是,一个团队从不同的组,外部供应商/承包商或开源社区中得到了一堆C或C ++代码。这些项目必然需要大量修改一些不匹配的代码,使得它们可以使用。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

本文中,我们将要研究正确性、一致性和监控多种技术。当不同团队的程序员在顶级的代码基础上开发,会减少错误的风险,还可以提高项目的稳定性和质量。如何做:

  • 使用静态分析,自动识别错误的代码结构,在前期降低受到未知风险的影响。
  • 在尝试任何代码更改之前,建立足够的回归测试套件与代码覆盖率量,减少破坏代码的风险。
  • 用规范的单元测试和功能测试验证代码的改变。
  • 代码更改执行增量静态分析和代码审查,以确保您的代码在结构上和逻辑上的整洁。

静态分析vs建立编码策略

在不执行的情况下,想搞清楚一个bug,或者想了解性能,静态分析的意义是非常重大的。这是代码审查的基石——用头脑阅读和理解代码,并用眼睛找出其中的缺陷。同行代码审查是查找代码缺陷的最佳方法,可以平均除去60%的缺陷,最高可达到90%。

正确实现自动化的静态分析能有效地在短时间内识别代码的缺点和错误。例如,一个经常会遇到的错误是:没有意识到浮点数不能与操作符相比,不同的是,整数或类可以执行操作符:

bool SetClient::contains(double d, SetType & h)
 {
 for (SetType::const_iterator it = h.begin(); it != h.end(); ++it) {
 // Pointer to a double of value d?
 if (*((double*)((*it)->getValue())) == d) {
 return true;
 }
 }
 return false;
 }

原文翻译自:


标签:代码优化C/C++

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP