面对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一个月左右,本来很早就想好好静下心来写一点东西了.但由于不想手写,文档写了不知道放在哪好,所以一直拖着.最近注册了博客园,还是挺方便的. 即将大学毕业了,则面临了所以大学生所面临的问题,就 ...
随机推荐
- 「视频直播技术详解」系列之七:直播云 SDK 性能测试模型
关于直播的技术文章不少,成体系的不多.我们将用七篇文章,更系统化地介绍当下大热的视频直播各环节的关键技术,帮助视频直播创业者们更全面.深入地了解视频直播技术,更好地技术选型. 本系列文章大纲如下: ...
- js动态绑定click事件时function传参问题
今天碰到了这样一个问题,我在javascript中动态创建了一个button, 然后我想给改button添加click事件,绑定的function想要传入一个变量参数, 一开始我想直接通过函数传参传进 ...
- HTML之DocType的几种类型 -转载
HTML之DocType的几种类型转载 doctype类型详细doctype的几种类型html之doctype 分类: 前端文摘 在默认情况下,FF和IE的解释标准是不一样的,也就是说,如果一个网页 ...
- MySQL优化一例
DELIMITER $$ USE `xxx`$$ DROP FUNCTION IF EXISTS `F_getBuluDates`$$ CREATE DEFINER=`root`@`localhost ...
- vsftpd 安装配置
# vsftp 安装yum install vsftpd -y # 配置用户名密码时需要yum install db* db4* -y# 启动vsftpdservice vsftpd start # ...
- spi子系统之驱动SSD1306 OLED
spi子系统之驱动SSD1306 OLED 接触Linux之前,曾以为读源码可以更快的学习软件,于是前几个博客都是一边读源码一边添加注释,甚至精读到每一行代码,实际上效果并不理想,看过之后就忘记了.主 ...
- JQuery 滚动轮播
css: *{margin: 0;padding: 0;}body{font-size: 12px;line-height: 24px;text-algin: center; }a{color: #f ...
- easy_UI 投票列表
首先我们考虑一下在项目投票种用到的属性(ID,投票标题,备选项目,参与人数) entity package cn.entity; public class GridNode { private Lon ...
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- JS和JSON的区别
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON格式的数据,主要是为了跨平台交流数据用的.但JSON和JavaScript确实存在渊源,可以说这种数 ...