程序员遇到BUG的解释

发表于:2016-1-14 11:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:瀛洲过客    来源:51Testing软件测试网采编

  开发应用程序是一项压力很大的工作,人无完人,工作中遇到bug是很正常的事,有些程序员会生气,沮丧,郁闷,甚至泄气,也有一些程序员则会比较淡定。如何进行修复bug的过程,是值得我们好好推敲的。
  我想分享一些有关程序员在努力修复bug时常说的话和冒出的想法。当氛围变得紧张的时候,这些话就会显得轻松幽默。最终,bug也会修复成功,你将会继续下一个任务。
  我相信许多web开发人员和软件工程师在编程中都会遇到困难,而事后回想起来,还会觉得很好笑。
  1、我不知道该删掉还是重写
  回归曾经写的源代码,总有一种想要重新返工的冲动,逻辑性差,冗余代码多,让人难以理解。但是,如果功能没出现问题,千万不要去修改。这是我经常要面对的困扰,相信也困扰了其他不少的软件开发者。
  2、一开始架构时就该查Github
  相信绝大多数开发人员都知道Github,它上面每天都会发布的一些神奇的开源项目。涉足所有计算机语言的程序员,会利用网络对现有项目进行分叉,在维基论坛谈论或者回购他们自己的源代码,这些都为各种各样的项目的插件和模板提供了很多丰富的资源。
  3、为什么这个脚本要依赖这么多库
  说到一些越来越被广泛使用的计算机语言,像Java和Objective-C,库文件的数量也不断增加。很明显可以看出,构建一个框架就需要许多的基础 库,甚至一些JavaScript的插件也需要很多大量的附加文件。有时候这些乱七八糟的东西会很让人心烦,但是至少它能运行。
  4、网上一定有解决办法
  遇到困难时,我的第一反应就是上网查资料,很多程序员会在论坛上发布他们的问题,最终这些问题都会被解决并存档。Google会很神奇地选择一些跟你的问 题相关的关键字,你就能够轻而易举地得到一些对你有帮助的讨论信息。不幸的是,有时候对于一些特定的问题,相关的信息还不是很多。
  5、有这个功能的插件吗
  何必要多此一举插件是扩展任何程序或者网站用户接口的很好的资源。另外它们还为开发者提供了一些定制以及独特的选项。如果没有可用的插件,那你为什么不自己创建一个呢?
  6、对于网站项目,我好担心坑爹的InternetExplorer
  使用IE渲染网页遇到的各种困难,我就不提了,从5。5版本到IE9-IE10,对于浏览器的支持问题的争议就一直不断。Web开发人员会很害怕网页调试,使用IE6进行渲染更是噩梦。,幸好那些日子已经慢慢成为历史了。
  7、有些逻辑语句,并不符合逻辑
  有一些逻辑语句,像if/else循环,for循环,while循环,do循环…等等,还有很多。在回顾一些源代码时,我总是尽力想弄明白我的逻辑是怎么回事。我经常会回头更新代码,让逻辑更清晰。
  8、我花30分钟写个函数,运行它却要花2个小时
  这不是十年前的一个有关编程的故事吗?当一切都在按照你所所期待的顺利进行着,突然某个函数输出了一个致命的错误,所以你不得不回头删除代码块,试图定位出错的代码行。尽管这会让你筋疲力尽,但是一旦找到错误的原因,问题解决之后,你又会立马感到浑身轻松。
  9、读了几篇博客后,我才意识到我之前所做的全是错的
  我总是喜欢根据自己的编程思想直入主题,但是如果事情没有按照我原本的计划进行时,会导致很多麻烦。有很多次,我在做项目时,途中都遇到了麻烦,最后只得 查找博客和相关文章去寻求帮助。然后又发现我的整个方法完全错了,还不如从头开始更容易点。所以从长远来看,在项目开始时多做点研究反而会节省时间。
  10、StackOverflow上有好心人或许能帮助我
  我已经数不清有多少次,遇到问题都是通过StackOverflow得到解决的。只要你提出问题,社区里就会有很多聪明,友好的热心人愿意帮助你。所有的在线论坛里,它绝对是支持软件编程和前后端web开发的最全面的网站。
  11、这个问题竟然就因为少了个右括号
  调试是我们经常要用的方法,向前两步,回退一步,再向前两步,如此反复。为了查找函数命名或者变量作用域等错误,盯着代码看了数个小时,结果发现只是缺少 了一个括号,你会有种哭笑不得的感觉。所有的时间都浪费在了一个小小的语法错误上,那一刻,你会觉得自己既是天才,又是傻子。
  12、喝杯咖啡,休息一下
  有的时候你需要起身离开显示器,连续敲了几个小时的键盘,如果中间休息一下,会对你的身体有益。大多数健康指南都建议每30-60分钟休息一次。但是还是要取决于你的需要,如果你感觉中间暂停去休息会打断你的思维,让你很不爽,那就最好不要了。
  13、我应该先把这个项目放一放,稍后在处理它
  休息的另一种方式就会暂停你手中的项目,而不是离开你的电脑桌。或许你还有其他的工作要做,那就继续下一项任务。比起试图在一个花了5个小时还没解决的问题上继续挣扎,这会是一种更合理地分配时间和资源的方式。
  14、我在想或许古典音乐能够激发我的编程潜能呢
  有一种说法认为古典音乐能促进植物的早期生长,我个人更偏爱古典音乐错综复杂的注解和音乐理论。爵士,钢琴,大型乐队,优雅的音乐在全球各地的人类文化都占有一席之地。所以编程的时候听点美妙的音乐会让你调试起来更得心应手呢。当然也有可能,会让你更加心烦意乱。
  15、或许现在是验证鲍尔默峰值理论的好时机
  我相信很多读者都知道鲍尔默峰值,它是根据一个特殊的XKCD漫画得来的。简单来说,这个理论认为程序员的编码能力在喝了定量的酒后,会达到一个峰值。这 个起源于SteveBallmer的些古怪滑稽的姿态被认为是像一个醉汉在说胡话。尽管这有点讽刺,因为鲍尔默在微软从来算不上一个真正的程序员,猜想我 们只有等其他人来实践这个理论了。
  16、是谁动了我的代码?
  这个听起来有点像妄想症,但是有时候你很想知道是谁趁你补觉的时候写的这些东西。回顾过去几周或者几个月的项目,会给你一种晕乎乎的感觉。有时候你会不记得你写过这些东西—尽管上周你还在参与这个项目。好像是我很疯狂地写的代码,你却从来不知道…
  17、完全不知道这是神马东东
  你遇到的最糟糕的情况应该是在研究源代码时,完全不知道它是在干什么,可能是来自你自己的项目,也可能是其他人的项目,但是问题都一样。这个时候,你必须确定是否值得花费更多的时间去寻找其它解决方案或者仔细剖析代码,研究它到底是干什么的。
  18、直接google下错误提示
  鉴于多年的PHP经验,我不得不说Google真的是调试问题的最好的小伙伴。这对于Objective-C,C++,Java和其他的主流语言的境况一 定是相同的。错误提示信息对我们很有用,但是你必须记住不同的错误代码代表什么意思。它读起来更像是被翻译过的计算机语言。幸好有这么多在线支持,让我们 确定这些错误信息代表的真正意思。
  19、今天应该到此为止了,可我真的想把这个问题解决了
  我们都知道想要退出时的那种极度沮丧的感觉,但是同时又觉得放弃不是正确的选择。你很想继续前进,找出新的解决方案来。但是如果到最后还是浪费了一个小时,那该怎么办?我对这种情况并不陌生,它会让人特别沮丧。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号