欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

程序员奇谈之我写的程序不可能有bug篇

程序员文章站 2022-03-26 21:54:53
程序员在普通人的印象里是一份严(ku)谨(bi)的职业,也是一个被搞怪吐槽乐此不疲的职业,程序员们面对复杂的代码敲打电脑时连眉头都不会皱一下,但是有一个词却是他们痛苦的根源,它就是Bug。 有不少的新手程序员,刚开始都是从修BUG开始做起的。 修bug有助于熟悉项目,了解大概哪些类参与了执行线路,相 ......

程序员在普通人的印象里是一份严(ku)谨(bi)的职业,也是一个被搞怪吐槽乐此不疲的职业,程序员们面对复杂的代码敲打电脑时连眉头都不会皱一下,但是有一个词却是他们痛苦的根源,它就是bug。

程序员奇谈之我写的程序不可能有bug篇

有不少的新手程序员,刚开始都是从修bug开始做起的。

修bug有助于熟悉项目,了解大概哪些类参与了执行线路,相互调用关系又是如何,结构设计上有什么特点。

以前猿姐就听过这样一个故事

程序员奇谈之我写的程序不可能有bug篇

有三个程序员需要穿过一片田地,到达对岸的房子。

初级程序员看了一眼笑着说道:不远,只需要十分钟就行。

资深级程序员想了一下说道:我应该在一天内过去。”菜鸟程序员很惊讶。

大神程序员看了一眼田地,说:我觉得十五分钟应该够了,资深程序员冷笑了一声。

于是,初级程序员出发了,刚走了一步就碰到了地雷,只好返回再次尝试,最好,花费了一天的时间才过去,结果却是伤痕累累。

资深程序员一出发就匍匐前进,仔细地拍打地面,寻找地雷,只有在安全的时候才前进。他在一天的时间内小心谨慎地缓慢爬过了这片地,只触发了几个地雷。

大神程序员出发之后径直穿过了田地,十分果断。他只用了十分钟就到了另一边。

“你是怎么做到的?”另外两个人问道,“那些地雷怎么没有伤到你?”

“很简单,”他回答道,“我最初就没有埋地雷。”

哈哈是不是很有意思呢

程序员奇谈之我写的程序不可能有bug篇

开发应用程序是一个非常有压力的工作。没有人是完美的,因此在这个行业中,代码中出现 bug 是相当普遍的现象。

面对 bug,一些程序员会生气,会沮丧,会心烦意乱,甚至会灰心丧气,而另一些程序员会依然保持冷静沉着。因此,如何处理修复 bug 的过程也值得我们细细琢磨。

猿姐想分享一些程序员修复他们的源代码时所经历的想法。我相信很多开发人员和软件工程师经历过这些艰辛,然后在事后一笑而过。以下你经历过哪些?

1.“我不知道是要删除还是要重写它”

回顾从前老的源代码,会有一种想要返工写成较大块集群的冲动和诱惑。丑陋的逻辑语句,还有冗长的语法,导致代码非常难以阅读!

但话又说回来,如果代码没有坏掉的话,那就不要去修复它。这种汹涌澎拜的斗争是我经常要面对的,而且显然会困扰许多软件开发人员。

程序员奇谈之我写的程序不可能有bug篇

2.“对于起始框架我应该查看 github”

我想大多数开发人员都知道 github,上面每天都有数量惊人的开源项目发布。

任何语言的程序员都可以通过互联网借鉴现有项目,加入维基讨论,或者创建自己的代码仓库。它是各种项目所需插件和模板的超棒资源。

程序员奇谈之我写的程序不可能有bug篇

3.“为什么这个脚本需要这么多库?”

尤其是一些比较大众化的语言,如 java 和 objective-c,库的数量可能变得异常凶猛。当构建一个需要大量基础的框架时,所需的库的数量就变得显而易见得多。

即使是一些适用于 java 的插件,也会额外需要无数的文件。有时,这会让人觉得烦杂恼人——但至少是有用的!

程序员奇谈之我写的程序不可能有bug篇

4.“在互联网的某个地方一定已经有了解决方案。”

我面对棘手问题的第一反应是上网查。程序员会将他们遇到的问题通过帖子发布到论坛上,然后这个问题最终得到解决并归档。

谷歌搜索问题关键字的好帮手,可以指点你往正确的讨论方向走。不幸的是,有的时候却是因为手头没有特定问题的太多信息而找不着北。

程序员奇谈之我写的程序不可能有bug篇

5.“有没有这个功能的插件?”

为什么要重新发明*?插件是扩大任何程序或网站用户界面的伟大资源。此外,它们还为开发人员提供了一些自定义和独特的选项。万一真的没有可用插件的话,为什么不自己构建一个呢?

程序员奇谈之我写的程序不可能有bug篇

6.“虽然网站可以工作,但我害怕 ie 浏览器。”

在 internet explorer 中渲染网页的历史充满了艰辛考验,是我们有目共睹或亲身体验过的。

从 5.5 版本升级到 ie9、ie10,总是需要争取到更高级浏览器的支持。web 开发人员可能会害怕调试网页,因为在 ie6 中打开页面是一个渲染噩梦。值得庆幸的是,这样的日子正在慢慢成为过去。

程序员奇谈之我写的程序不可能有bug篇

7.“对于逻辑表达式而言,这似乎并不怎么合乎逻辑。”

对于 if / else 循环,for 循环,while 循环,do 循环等等,都有逻辑表达式。当浏览示例代码时,我试图指出我的逻辑是如何工作的。

not 运算符和比较标记的数量又是如此之多。我经常回过头去更新我自己的逻辑以便于更好地适合未来的做法。

程序员奇谈之我写的程序不可能有bug篇

8.“我用 30 分钟写函数,花 2 小时让它工作。”

这难道不像我们自己的编程故事吗?你正兴致勃勃地在构建着什么,但是突然之间,函数输出了一个致命的错误。

所以,现在你必须回过头去删除一些代码块,以找出错误发生的行号。当你终于找到罪魁祸首,并解决它时,虽然有种精疲力竭的感觉,但也满心安慰。

我常常会一开始就根据自己的编程思想,一头扎进去研究,但是这可能会导致麻烦,如果事情不像原先设想地那样顺利的话。

已经有很多次在我启动一个项目之后,陷入了困境,然后只好寻求博客和其他论文的支持。

最后我发现我的整个方法实际上是错误的,而且从头来过更容易!如果我开始的时候能先做一番研究的话,从长远来说,反而节省时间。

程序员奇谈之我写的程序不可能有bug篇

来源  https://post.mp.qq.com/kan/article/2063422179-295542592.html?_wv=2147483777&sig=ee208a49a460584bd6d97e6651f38a19&article_id=295542592&time=1552472230&_pflag=1&x5prefetch=1