没有人是完美的,因此在Java开发这个行业中,代码中出现BUG是相当正常的现象。面对BUG,一些Java程序员会生气,会沮丧,会心烦意乱,甚至会灰心丧气,而另一些Java程序员仍然可以保持冷静沉着,仔细的思考如何处理修复BUG,如何修复BUG,而修复BUG的过程也是值得一个程序员细细琢磨的地方。下面就来见识见识德克特Java班学员总结的面对bug的反应。
开发应用程序是一个非常有压力的工作。我想分享一些程序员修复他们的源代码时所经历的的想法。这是事情变得紧张时所触发的轻松幽默。而且我也相信很多程序员都经历过这些艰辛,然后再事后一笑而过。
1.“我不知道我该删除它还是重写它”
回顾从前老的源代码,会有一种想要返工写成较大块集群的冲动和诱惑。丑陋的逻辑语句,还有冗长的语法,导致代码非常难以阅读!但话又说回来,如果代码没有坏掉的话,那就不要去修复它。这种汹涌澎拜的斗争是我经常要面对的,而且显然会困扰许多软件开发人。
2.“对于起始框架我应该查看Github”
我想大多数开发人员都知道Github,上面每天都有数量惊人的开源项目发布。任何语言的程序员都可以通过互联网借鉴现有项目,加入维基讨论,或者创建自己的代码仓库。它是各种项目所需插件和模板的超棒资源。
3.“为什么这个脚本需要这么多库?”
尤其是一些比较大众化的语言,如Java和Objective-C,库的数量可能变得异常凶猛。当构建一个需要大量基础的框架时,所需的库的数量就变得显而易见得多。即使是一些适用于JavaScript的插件,也会额外需要无数的文件。有时,这会让人觉得烦杂恼人——但至少是有用的!
4.“在互联网的某个地方一定已经有了解决方案。”
我面对棘手问题的第一反应是上网查。程序员会将他们遇到的问题通过帖子发布到论坛上,然后这个问题最终得到解决并归档。谷歌搜索问题关键字的好帮手,可以指点你往正确的讨论方向走。不幸的是,有的时候却是因为手头没有特定问题的太多信息而找不着北。
5.“有没有这个功能的插件?”
为什么要重新发明轮子?插件是扩大任何程序或网站用户界面的伟大资源。此外,它们还为开发人员提供了一些自定义和独特的选项。万一真的没有可用插件的话,没什么不自己构建一个呢?
6.“虽然网站可以工作,但我害怕IE浏览器。”
在InternetExplorer中渲染网页的历史充满的艰辛考验,是我们有目共睹或亲身体验过的。从5.5版本升级到IE9-IE10,总是需要争取到更高级浏览器的支持。web开发人员可能会害怕调试网页,因为在IE6中打开页面是一个渲染噩梦。值得庆幸的是,这样的日子正在慢慢成为过去。
7.“对于逻辑表达式而言,这似乎并不怎么合乎逻辑。”
对于if/else循环,for循环,while循环,do循环等等,都有逻辑表达式。当浏览示例代码时,我试图指出我的逻辑是如何工作的。NOT运算符和比较标记的数量又是如此之多。我经常回过头去更新我自己的逻辑以便于更好地适合未来的做法。
8.“我用30分钟写函数,花2小时让它工作。”
这难道不像我们自己的编程故事吗?你正兴致勃勃地在构建着什么,但是突然之间,函数输出了一个致命的错误。所以,现在你必须回过头去删除一些代码块,以找出错误发生的行号。当你终于找到罪魁祸首,并解决它时,虽然有种精疲力竭的感觉,但也满心安慰。
9.“在阅读多篇博客文章之后,我意识到,我之前全都是错的。”
我常常会一开始就根据自己的编程思想,一头扎进去研究,但是这可能会导致麻烦,如果事情不像原先设想地那样顺利的话。已经有很多次在我启动一个项目之后,陷入了困境,然后只好寻求博客和其他论文的支持。然后我发现我的整个方法实际上是错误的,而且从头来过更容易!如果我开始的时候能先做一番研究的话,从长远来说,反而节省时间。
10.“StackOverflow上和善的人或许愿意帮助我。”
我已经数不清有多少次我通过StackOverflow解决了难题。社区里都是和善和聪明的人,他们非常愿意提供帮助,如果你迈出第一步的话。在所有的在线论坛中,StackOverflow绝对是对软件编程以及前端/后端web开发支持最广泛的网络。
关注德克特官网更多的惊喜,好玩的事情,好笑的故事在等待着你。