五年渣猿,还犯低级 bug,如何提高开发质量

2019-05-16 20:52:51 +08:00
 season8
入新公司一年了吗,出过好几次 bug,都是低级问题导致一些功能受影响,几乎都被老大知道了,还有好几次是老大发现的,老大一般没说啥,但能感受到他很失望,我也感觉很操蛋,感觉不应该啊,想请教下大家,五年猿不论技术掌握,开发 bug 率是多少,如何提升质量呢
4615 次点击
所在节点    程序员
29 条回复
ranwu
2019-05-16 21:10:03 +08:00
单元测试,功能测试,集成测试走起
Vegetable
2019-05-16 21:14:00 +08:00
估计低级 bug 出现的概率无限接近于 0 吧,还没到五年,但是现在已经基本不会出了。
方法就是拿出一半时间写单元测试。
billlee
2019-05-16 21:54:08 +08:00
1. 用强类型的语言
2. 写单元测试
3. 上 lint
smdbh
2019-05-16 22:06:35 +08:00
什么类型的,贴来看看
okoook
2019-05-16 22:07:54 +08:00
@Vegetable 谁给你的勇气这么说,梁静茹吗?
mcfog
2019-05-16 22:07:57 +08:00
你知道怎么避免的才能说是低级 bug

那么你知道怎么避免吗?知道还重复出,那是态度问题,端正态度先

如果你不知道怎么避免,那这个 bug 对你来说就不低级,学会怎么避免,你的能力就有提升了,你可以等一个段落以后去请教老大怎么避免,或者是这里或别的地方提问,记得提问的智慧,也可以去补相关的基础也好理论也好,方法论也好(如果你知道什么是相关的,应该补的东西)
ArthurRen
2019-05-16 22:08:51 +08:00
没有测试人员吗
season8
2019-05-16 22:50:26 +08:00
@smdbh 第一次是导数据,创建时间没强制赋值被刷成了 now, 第二次是取错证字段,修改很小,测试特别麻烦,我就直接发了线上了😰
liprais
2019-05-16 22:56:37 +08:00
写完不测就发布
我是你 leader 这次你就吃不了兜着走了
你 leader 真是个好人
wc951
2019-05-16 23:02:36 +08:00
这是你们流程有问题
tomlee0201
2019-05-16 23:11:08 +08:00
写代码之前先要考虑好各种异常情况,写完代码要自测,然后找人 review,上线再有 QA 做上线测试
都五年了,还没有养成一个正确的开发习惯。。。
season8
2019-05-16 23:12:09 +08:00
@mcfog 首先感谢你的点拨,我也说不上来,感觉每天上班状态不太好,之前出过一次 bug,其实是前人的锅,但我也犯了,我都不知道怎么反驳,后来有一次给产品做一个小工具统计数据,本来是说每周要的,但她用来弄历史数据,各种不对,老是找我,还说我坑她,但我当时没意识到我本来就没给他提供这个功能。。。我也是够昏,刚好老大听到了,说我这不行,下班路过我旁边还调侃我写 bug。。感觉真心无力解释,像狡辩一样。然后另外一个领导总说 kpi,裁员。。感觉压力好大,

我的却不太喜欢测试,但大部分我都测试了,先本地,再测试,再线上,但我没有定期观察数据的习惯,如果有的话,这些问题都能及早发现而不是被领导发现。其他的,感觉还是代码量少了,我觉得这么多年应该有的基本逻辑是不用测试也没大毛病的那种程度。。。

还有一个,复制粘贴的时候总是容易漏改注释,有时打断一下还会漏改代码,这个怎么破
kuber
2019-05-16 23:13:55 +08:00
@season8 写完代码不(好好)测试就提交,这不是技术问题,是责任心问题。我要是你 leader 肯定要开骂了。
要养成习惯,写代码前想一下怎么测试。不管是单元测试还是手工测试,先想清楚有哪些分支需要测试,怎么测试,才能说你清楚了需求,然后才能写出合格的代码。
zhuawadao
2019-05-16 23:14:36 +08:00
@season8 对于我个人,一般有的地方,隐隐约约感觉可能没问题吧,或者是这个地方好像有不清晰的地方,但又说不出来哪个地方。以上的情况,基本到后来都会出现问题。所以我就格外注意
season8
2019-05-16 23:17:53 +08:00
@tomlee0201 谢谢指正,我也发现我开发习惯很不好。你说的提前考虑好各种异常,这个确实很重要,总是开发过程中冒出各种念头🙉,有时候会很影响效率,我有时候总觉得自己想太多
feiyuanqiu
2019-05-16 23:18:16 +08:00
低级问题靠语言、靠好的 IDE、靠经验来减少犯错的几率,但最主要还是要靠认真的态度,不说单元测试,至少写完了要自己跑几遍,单步调试走完所有逻辑,不忽略任何预期外的情况。

要尽可能把自己负责的业务相关都摸清,不懂或不清晰的一定要搞清楚再动手。我最近一次事故,第三方提供了一个有副作用的接口,文档上就一行字模模糊糊说了一下,也没仔细读,对于接口参数里有个看起来跟上下文没什么关系的参数也没多想…结果上周修复数据修到吐血
season8
2019-05-16 23:19:57 +08:00
@zhuawadao 同感
feiyuanqiu
2019-05-16 23:28:52 +08:00
@season8 复制粘贴是种 bad smell,在提醒你该抽象提炼代码逻辑了
season8
2019-05-16 23:41:02 +08:00
@feiyuanqiu 是哈,😱,野猿
ChristopherWu
2019-05-17 00:25:44 +08:00
首先,你应该整理一下你犯过的错,分析一下原因,贴上来,我们才知道你出了什么错。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/564844

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX