企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 程序员为什么要一直改BUG,为什么不能一次性把代码写好? [程序员为什么要一直改bug ?不能一次性写好吗?-蓝梦依燃的回答-悟空问答](https://www.wukong.com/answer/6346304916088160513/?iid=25315997380&app=news_article&share_ansid=6346304916088160513&wxshare_count=1&tt_from=weixin&utm_source=weixin&utm_medium=toutiao_android&utm_campaign=client_share) * * * * * #### 没有绝对的完美 没有bug的程序是不存在的,你说没有,是因为你没有找到,足够长的时间,一定能找到的,但是谁能对未来未知的事情许诺,所以你无法证明,无法推翻,没有bug的程序是不存在的。 软件开发,引入系统太多,开发都依赖于很多工具,IDE编译器,操作系统,机器,而这些都是别人做的,谁能保证哪个环节绝对不出问题,并且软件迭代快,系统,环境都会更新换代,谁能保证软件能够一直能运行,所以没有完美的代码,没有无BUG的软件,**只有不断迭代,不断完善,不断更新的代码才是最有价值的代码。** * * * * * #### 依赖库BUG 一个功能模块几乎不可能是独立的,它必然牵扯到其他模块。对于你所依赖的模块,你没办法保证这些模块是100%可用的。这个时候可能虽然有错误,但是只要不影响主要流程,我们依然可以正常使用。**但这个时候对于外部依赖的异常处理,很考验工程师的能力。** >[danger] 根据“墨菲定律”——“凡事只要有可能出错,那就一定会出错。所以凡是有可能失败的,就一定会出现失败的情况,凡是可能出现并发问题的,就一定会出现并发问题,所以每一行代码都要严谨,并为可能出现问题的部分做好异常处理,以保证代码在每个地方都周到严密,不会在未来出现什么乱子。 ![](http://cdn.aipin100.cn/18-4-2/77693588.jpg) * * * * * #### 没有个体能独立而存在 还有,比如qq运行在操作系统上,系统如果有问题,qq也要想办法使用一些方法迁就,使得qq在每个人的电脑上都能运行,这就需要qq为不同的情况做一些特殊的处理,另外操作系统是运行在硬件上,即使硬件没有问题,谁能保证当前的使用环境呢,比如电流,空气湿度等呢,这些因素都会造成软件运行的不稳定性,所以绝对完美的软件是不存在的,没有bug的软件是不存在。 * * * * * #### 工具/环境不完美 比如,为了方便用户而引入的图形化和操作互动,同时也是bug之源,但为了便利,我们只能忍受,并尽可能降低bug的数量。除此之外,大型软件中涉及到的许多工具,本身就不够完美,但我们还得使用它们,**比如网络通信协议,同样不完美,但我们不能等到完美那一天才上网。** * * * * * last update :2018-4-15 11:18:39