面对bug和困难的心态
遇到bug了?
作为程序员,会面对各种各样的bug,我们在编写代码的时候,也是生产bug的过程。在公司总会遇到老同事留下的代码,这些代码出现问题了该怎么办?最常见的想法就是,
老同事怎么考虑这么不周到,这些场景都没有考虑到。
我X!这块业务逻辑我都不知道什么鬼,怎么改?
看了代码,根本看不懂,老同事写的代码看不懂!连注释都没有(所以写代码的时候,要想着,接手我们代码的人,是知道我们住址和联系方式的,甚至知道我们常走的路)
。。。。。。。。
面对问题:
该抱怨就抱怨吧,反正问题还在,并不会因为你抱怨而减少。所以抱怨是解决不了问题的。虽然大家都知道,但难免还是会抱怨。
然后就让我们解决问题吧,首先,要确认一点:我们能拿工资的原因就是我们能解决问题。相信问题是会解决的。(它不死,我死!)
既然要面对问题,面对一堆代码(没有注释,有魔法数字,一些特殊数字,根本不知道它代表什么意义),
遇到的问题有很多种,我遇到的问题是:能重现的问题和不能重现的问题(由于并发,网络等原因导致)
能得重现问题:
第一步:重现问题,查看报错日志。
良好的报错日志,能让我们快速地定位和解决问题。通过日志能定位到出现错误的代码区。
如果没有报错,业务表现的错误怎么办?往下走!
第二步:找到对应接口,通过对应接口找到相应的数据库表。
业务比较复杂,但涉及的表一般不会太多。(当然如果业务过于复杂就不一样了。)找到问题数据,看到数据,整理数据关系,逐步回溯到业务代码。
第三步:看看数据有没有问题。
第四步:模拟数据,“走通”代码逻辑。最后你会发现,解决这个问题需要做的东西并不多。反而找问题的时间还比较长。
结语:
遇到问题,虽然有各种负面心态,我们应该尽量减少。面对问题,我们能体现价值的地方就是解决问题。解决问题是我们存在的价值。我们平时学习技术不就是为了更快地解决问题吗?问题解决了,轻松感和成就感。你会发现这是值得的。
面对bug和困难的心态的更多相关文章
- 说说分析bug的一些心得
bug已经成为程序员工作中的一部分,作为从事嵌入式软件开发已有三年的我,经手的bug也不少了.先说说自己对于bug的心态变化吧,刚开始工作的时候,自己还是很喜欢bug的.那时,自己是负责维护别人的代码 ...
- 一个历时五天的 Bug
一个程序员在没有成长成为架构师之前,几乎都要跟 Bug为伴,程序员有很多时间都是花在了查找各种 Bug上. 我印象深刻的一个Bug, 是一个服务器网络框架无锁队列的 Bug .那个 Bug 连续查找了 ...
- 程序员遇到Bug时的25个反应
开发应用程序是一个非常有压力的工作.没有人是完美的,因此在这个行业中,代码中出现bug是相当普遍的现象.面对bug,一些程序员会生气,会沮丧,会心烦意乱,甚至会灰心丧气,而另一些程序员会依然保持冷静沉 ...
- 程序员遇到Bug时的30个反应
开发应用程序是一个非常有压力的工作.没有人是完美的,因此在这个行业中,代码中出现bug是相当普遍的现象.面对bug,一些程序员会生气,会沮丧,会心烦意乱,甚至会灰心丧气,而另一些程序员会依然保持冷静沉 ...
- 遇到bug我会怎么做
我今天遇到一个问题,ztree显示数据,本来这个功能是没有问题的,但是当我新加入了几个页面筛选条件时,将集合传入ztree ,页面缺一直没显示出来,弄了两个小时,代码我都仔细排查了一次,发现没有问题, ...
- 实战小项目BUG纪录
果然,作为程序员最可爱的女朋友就是各种BUG,解决了你的开发能力和开发效率就会上升到一个新的层次.反之,在你面对BUG的时候,如果轻易的就放弃了,你也就失去了一次自我成长的机会.学习就是这样的,我们有 ...
- 程序员奇谈之我写的程序不可能有bug篇
程序员在普通人的印象里是一份严(ku)谨(bi)的职业,也是一个被搞怪吐槽乐此不疲的职业,程序员们面对复杂的代码敲打电脑时连眉头都不会皱一下,但是有一个词却是他们痛苦的根源,它就是Bug. 有不少的新 ...
- bug管理工具为开发者工作带来哪些改变?
BUG管理工具的主要功能是对软件开发测试过程中出现的BUG进行跟踪管理,提高开发者的工作效率与工作质量. 在实际工作中,如果没有bug管理工具的帮助,就可能会出现如下一系列的影响: 1.软件测试人员将 ...
- 谈初学Java历程
学习Java一个月左右,本来很早就想好好静下心来写一点东西了.但由于不想手写,文档写了不知道放在哪好,所以一直拖着.最近注册了博客园,还是挺方便的. 即将大学毕业了,则面临了所以大学生所面临的问题,就 ...
随机推荐
- android 自定义控件——(三)水平线、虚线
----------------------------------View虚线或者直线(源代码下有属性解释)--------------------------------------------- ...
- java编码原理,java编码和解码问题
java的编码方式原理 java的JVM的缺省编码方式由系统的“本地语言环境”设置确定,和操作系统的类型无关 . 在JAVA源文件-->JAVAC-->Class-->Java--& ...
- JS原型链
JS作为发展了多年了对象语言,支持继承,和完全面向对象语言不同的是,JS依赖原型链来实现对象的继承. 首先JS的对象分两大类,函数对象和普通对象,每个对象均内置__proto__属性,在不人为赋值__ ...
- Mac卸载MySQL
打开终端输入以下指令即可 sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* rm ...
- [原创]下拉框控件react-native-modal-dropdown更新历程
前言 不知不觉从今年9月发布第一版控件到现在已经快3个月了 过去不断从开源社区索取,一直一直想着有机会一定要回报
- WinXP/Win7/Win8本地用户配置文件迁移至域用户
一.概述 最近在进行加域的工作,PC大部分是Win7,使用过微软USMT 4.0和5.0工具进行迁移,但命令行报错,目前还没找到好的文章研究. 本文迁移方法很特殊,利用的是Windows默认配置文件. ...
- uva 1599 ideal path(好题)——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGYAAAODCAYAAAD+ZwdMAAAgAElEQVR4nOy9L8/0ypH/Pa8givGiyC
- BZOJ 1251: 序列终结者 [splay]
1251: 序列终结者 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 3778 Solved: 1583[Submit][Status][Discu ...
- 初见SpringMVC
1.什么是SpringMvc Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 M ...
- EL表达式
跳转传到: : 相当于(接值放值): --------------------------- --------------------------------- ------------------- ...