软体开发过程总是伴随著 bug 和不周全的设计,有时候还会有赶时间写下的「有味道」的代码,这种事在公司的代码里已经是屡见不鲜了。但是在知名的开源软体项目里,这种代码存不存在呢?

因为没有阅读过多少的开源项目代码,所以好奇提这么个问题,期待大家可以多多举例。


提名FFmpeg(指做库开发而不是命令行工具),光看API就觉得项目已经失控了。

很多API用数字结尾,比如用foo3取代foo2函数。

新手官方文档看一遍下来大概率是跑不通hello world的,网上也没有太多资料,成体系的更少,在目前版本上还能跑过的几乎没有。

官方的example里,用新API构建出来的结构体,需要转换成旧API能够接受的结构体,并使用一个已经废弃的函数,才能跑通流程。

以上是我前两年心血来潮学FFmpeg时的经历。


https://github.com/apache/commons-collections/blob/COLLECTIONS_3_2_BRANCH/src/java/org/apache/commons/collections/CollectionUtils.java


openssl

使用极其广泛,代码极其垃圾。


我只是引用,我没有具体看过 php-src 中用的是 tab 还是 space

PHP源码就是使用1个制表符进行缩进,不符合PSR标准,是不是PSR连PHP自己也要讨伐呀,笑话.

我当时看到这一段时已经过于震惊已经不想要看 php-src 的具体是不是 tab 了


没有一个完整的系统,所有的漏洞都是不断发现不断修补的!

同理,所有的代码都是存在bug的。。


mysql server层源码,简直难受╯﹏╰


推荐阅读:
相关文章