博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序编译为何失败?
阅读量:5901 次
发布时间:2019-06-19

本文共 628 字,大约阅读时间需要 2 分钟。

完美的程序不会是一次就写成功的,都要经过反复编译、调试、修改。调试过程可能会花费大量的时间,如果了解了常见编译错误发生的原因,这有助于节省时间,提高开发效率。

Google、香港科技大学和内布拉斯加大学的研究人员分析了1.8万Google工程师在2012年11月到2013年7月之间的超过2600万次编译,分析出了编译失败的常见原因、修复所花费的时间等。

下图显示了这些数据收集的过程。

image

1. 编译失败率与编译次数、开发者经验无关

研究人员推测,编译次数越多,出错的几率也就越大。但是实际数据显示,这两者之间没有相关性。

研究人员还推测,有经验的开发者出错率会比较低,但事实也并非如此。

2. 绝大多数编译失败与依赖有关

image

大约65%的Java编译错误被认为跟依赖有关,比如编译器无法找到一个符号(这是最常见编译错误,占所有编译错误的43%),或者是包不存在。

在C++编译中,大约53%的编译错误跟依赖相关,最常见的错误是使用了未声明的标识符和不存在的类变量。

3. C++代码编译更容易出错

下图是编译错误率(x轴)对应的开发者人数(y轴)。

image

研究发现,C++代码的构建失败率为38.4%,而Java为28.5%。此外,在C++编译中发生语法错误比Java更频繁,但是C++编译错误会得到更快的解决。

研究人员认为,造成这种差异的原因是Java开发一般使用IDE,这有助于减少一些简单的语法错误,但IDE生成的代码在一定程度上也增加了解决编译错误的难度。

转载地址:http://sfrsx.baihongyu.com/

你可能感兴趣的文章
Disable Linux IPv6 Networking
查看>>
Windows7 下用Anaconda3安装TensorFlow教程
查看>>
pt-table-checksum数据一致性使用参考
查看>>
Linux性能分析之IO篇
查看>>
linux sort 命令详解
查看>>
git merge 和 git rebase 小结
查看>>
求1!+2!+3!+...20!的值
查看>>
mysql修改root密码后,phpmyadmin不能访问的解决办法
查看>>
1在路由器上配置 Telnet
查看>>
6.26 7.1-7.5
查看>>
find命令详解(1)
查看>>
python2-1
查看>>
关于正则表达式的有趣之处
查看>>
Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法
查看>>
Shell脚本 (二)文本测试、整数值比较、字符串比较 条件测试操作 if语句应用实例...
查看>>
Java学习lesson 11
查看>>
一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程
查看>>
Oracle管理
查看>>
springcloud架构搭建(一) Eureka服务器搭建及配置
查看>>
学习六十三
查看>>