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

231 天前
 xiaotuzi

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

11762 次点击
所在节点    程序员
113 条回复
hamsterbase
231 天前
先写好单测,然后再写逻辑.

逻辑写完 测试通过,就可以发布了。
xuanbg
231 天前
你我皆凡人,思虑不周,有 bug 很正常的好不好。重点不在于有没有 bug ,在于 bug 能不能在上线前被发现并修复。

譬如我,只有 2 种 bug 。一种是莫名其妙不讲理的,基本上是第三方的锅。当然这种非常少。
另一种是非常低级的,只要测试就必定发现的。大多数是手写 sql 的语法错误,或者加了个什么字段结果实体类上没加这些。。。所以,我只要做一次接口测试,通过后就极少有 bug 了。
zhuwd
231 天前
出生就毕业,不用改 bug 的项目不都早凉透了吗
hyperbin
231 天前
依据哥德尔定理连数学本身都是不完备的,更别提不靠谱图的人脑编写出的逻辑电路(任何软件都能用等价的数字电路来实现)
zhumengyang
231 天前
最好的程序就是没有程序
lsk569937453
231 天前
单元测试没有吗?
yyysuo
231 天前
你为什么会有这种不切实际的想法?
xiaotuzi
231 天前
@hamsterbase 我是说不单元测试之前的情况下,一次性写完一个完整功能,不出现 bug 。
cassyfar
231 天前
程序没 bug 只有一种可能,没人用
xiaotuzi
231 天前
@xuanbg 确实,做一次测试之后,很少有 bug ,可能是我追求过高了。。。
xiaotuzi
231 天前
@yyysuo 可以追求一下,突破自己的极限。
aqtata
231 天前
ChrisYoung
231 天前
我认为和经验,业务熟悉度,业务复杂度都有关系,我最大的改变是之前报的是修为低的 bug 比如空指针等,现在稍微修为低些的 bug ,通过检查代码,代码 review ,完善的自测基本都避免了。另外一点就是没有完美的程序,能满足当前业务场景的程序那就够了。
SomeBodsy
231 天前
理论上来说,不存在没有 bug 的程序。不然从程序员早就失业了
xiaotuzi
231 天前
@ChrisYoung 说得对,好了,我要开始堆屎山了
gpt5
231 天前
我也时常困惑,但凡是代码总有 bug ,这个是不是受某个基本定律支配的。
wjx0912
231 天前
如果道是完美的,那么操作系统就是完美的,如果操作系统是完美的,那么编译器就是完美的,如果编译器是完美的,那么应用程序就是完美的,所以用户心满意足,整个世界因此和谐。
xtreme1
231 天前
@gpt5
System F 和它的所有超集的类型推断是不可判定的.
shuxhan
231 天前
恭喜你发现人类社会的规则,不断完善和发展进步。
如果你想一次性写好一个程序不存在 Bug ,难度不亚于原始社会直接过度成星际社会
FLADIMIR
231 天前
因为程序是对现实的抽象,在这个过程中人怎么可能面面俱到呢?

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

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

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

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

© 2021 V2EX