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

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

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

12442 次点击
所在节点    程序员
113 条回复
hamsterbase
2023-09-21 08:12:44 +08:00
先写好单测,然后再写逻辑.

逻辑写完 测试通过,就可以发布了。
xuanbg
2023-09-21 08:14:29 +08:00
你我皆凡人,思虑不周,有 bug 很正常的好不好。重点不在于有没有 bug ,在于 bug 能不能在上线前被发现并修复。

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

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

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

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

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

© 2021 V2EX