做程序员好多年了,一直有个疑问,几乎没有一个程序或者功能是完全一次性写完不修 bug 的

2023-09-21 08:06:24 +08:00
 xiaotuzi

由于最近写小工具,自认为很简单,而且写的时候还是比较认真,但还是写了些 bug ,回想起自己这么些年,每次做功能都要重新去 check 代码,debug 代码,真的感觉经验并不能完全取代 bug 的产生,写代码至少要多重复一遍,大家有没有这种感觉?还是只有我自己才这样?

12592 次点击
所在节点    程序员
113 条回复
8355
2023-09-21 09:06:44 +08:00
越简单的代码和设计越不容易有 bug ,需求和现有系统足够复杂 bug 是必然存在的,即使代码本身没有 bug 也可能因为一些外界因素导致异常产生。
wuqi5920
2023-09-21 09:10:36 +08:00
代码没有 bug ,你还能继续干下去?
NoKey
2023-09-21 09:11:13 +08:00
修修补补,改一下,加一下需求,才有可持续性。。。
wuqi5920
2023-09-21 09:11:29 +08:00
@zhuwd 没有 bug 是测试被开还是开发被开对吧
yafoo
2023-09-21 09:12:09 +08:00
一直感觉自己大脑逻辑有点问题,在上高中时,经常考试,有次考试突破了记录,一张卷子最后的 10 几道大题,全是在最后的几步加减乘除出错了...

现在写程序也一样,再简单的程序,总是会出 bug ,然后再反复修 bug
zfy941
2023-09-21 09:15:00 +08:00
有些 bug 根本不是 bug
需求和用户规模都是会变的
同一个程序 就算自身不出问题 也不会一直满足要求
sunnicholas
2023-09-21 09:15:06 +08:00
几乎没有就还是有,找原因总结,出 bug 只能说出了概率就是逻辑不严谨
Sfilata
2023-09-21 09:17:33 +08:00
越简单的程序就越不会有 Bug ,例如让你写一个 Hello World 。大多数人会一次性写出来而且没有 Bug 吧。
liuxingdeyu
2023-09-21 09:17:50 +08:00
没有银弹,从软件工程上看,bug 量只是一个指标,还有周期、人力成本之类的一堆指标,当一个方程出现的时候,更多的是求个相对情况下的最优解
wenzhuo
2023-09-21 09:18:30 +08:00
@aqtata 你小子就先杀生是把·
JinTianYi456
2023-09-21 09:18:41 +08:00
有人的地方就有江湖 :D
scegg
2023-09-21 09:19:24 +08:00
成本。

如果给你无限多的时间,你大可以一次写出无 bug 的程序。然而并没有任何意义。
ZhuWenJian
2023-09-21 09:20:32 +08:00
去医院看病好多次了,几乎没有那次是医生开一副药就能治好的。都是去好几次,开好几次药才好的。
woodfizky
2023-09-21 09:22:02 +08:00
1 、预测到使用场景的所有可能性,每种可能性都有对应的处理;
2 、编码水平足够且不粗心;
3 、使用的轮子/依赖的第三方代码/接口/编程语言甚至操作系统层面没有 bug ;

这样可以在编码阶段就减少 bug
reallynyn
2023-09-21 09:22:27 +08:00
因为这世界上没有完美的东西,越是复杂的事物越是如此。
你见到的所有东西都是可以用但不完美的,包括你开的车也存在设计问题,你住的房也存在施工问题,只不过通过大量的冗余抵消了不良后果。
ZhuWenJian
2023-09-21 09:22:35 +08:00
所以吧,人无完人,除非你做的事情比较简单。
不然在没有大量的时间去研究调查的情况下,快速上手开发,出 bug 是必然的。
hetingting
2023-09-21 09:24:28 +08:00
没有 bug 的程序,是不完美的
standchan
2023-09-21 09:25:00 +08:00
有啊,你就打印一个 hello world ,大概率就永远可以正常打印了
q8164305
2023-09-21 09:29:38 +08:00
因为理论上的逻辑分支是指数增长的,而不是线性增长的,所以人脑考虑所有的逻辑分支几乎是不可能的事
carytseng
2023-09-21 09:29:51 +08:00
我很少写单元测试,一般用 postman 工具点一下就可以了

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

https://tanronggui.xyz/t/975722

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

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

© 2021 V2EX