写程序的时候,需要考虑理论上概率为零的意外情况吗?

2017-04-16 07:28:16 +08:00
 klxq15
比如一个数值输入计算,要先判断它是否全为数字,然后再计算
6891 次点击
所在节点    Python
61 条回复
zyEros
2017-04-16 14:17:54 +08:00
这种情况就需要学习一下防御性编程,因为概率为 0 ,除非你可以证明得到
jason19659
2017-04-16 14:48:54 +08:00
首先要论证是不是真的概率为 0
bombless
2017-04-16 14:59:49 +08:00
看过一个说法,说过马路总是记得往马路两头看的人才是合格的程序员。起码这个说法还是挺有趣的,哈哈
klxq15
2017-04-16 15:02:43 +08:00
这样啊,看了大家的评论感觉还是加上判断好一些,谢谢大家的回复~
watcher
2017-04-16 15:05:27 +08:00
多写两行 穷不了你 富不了我... 写不出吃亏 写不出上当...
realpg
2017-04-16 15:09:45 +08:00
不相信任何其他途径传过来的数据
reus
2017-04-16 15:19:26 +08:00
如果你要这样做,那就别用 python 了,用静态类型语言。
nicevar
2017-04-16 16:14:48 +08:00
保证程序的健壮性是很有必要的,因为你想不到的情况太多了
很多年前刚参加工作在一公司,软件发布前经过整个部门的轮番测试觉得已经不错了然后就发出去,结果短短几天用户反馈的 bug 达到 200 多个,当时测试跑过来说这个事我就惊呆了
loading
2017-04-16 16:47:18 +08:00
不要相信提交的任何内容,不是基本原则吗?
atnopc
2017-04-16 16:56:41 +08:00
之前有个和本地 zf 合作的一个项目
用户群是中老年人
你就会发现你认为这个概率为 0 的想法有多么不靠谱了
AstroProfundis
2017-04-16 20:17:30 +08:00
用户输入不符合预期的数据这种事情概率不应该是接近 1 的吗,楼主怎么会产生概率为 0 的错觉
blessyou
2017-04-16 20:34:54 +08:00
考虑过服务器挂掉 1988 次,然后突然觉得,哼 怎么可能,不存在的
si
2017-04-16 20:45:58 +08:00
接近零!=零,即使概率再小他也不为零。不为零就是肯定会发生。为零是肯定不会发生。
Mutoo
2017-04-16 21:10:47 +08:00
莫非定律, Anything that can go wrong, will go wrong.
https://zh.wikipedia.org/wiki/%E6%91%A9%E8%8F%B2%E5%AE%9A%E7%90%86
lifanxi
2017-04-16 21:50:39 +08:00
37 楼说得对,概率为 0 并不表示不发生,所以不能一概而论要不要处理“概率为 0 ”的情况,最多只能讨论“不会发生的事件”要不要处理。
BOYPT
2017-04-16 21:52:30 +08:00
if(false) { alert("something happeded ... "); }
ra1983
2017-04-16 21:53:55 +08:00
@bombless 我看到的说法是过单行道也看两边的程序员,哈哈
jatesun
2017-04-17 08:51:20 +08:00
当然啦,你要问我考不考虑我说考虑,我就可以明确的告诉你
pepesii
2017-04-17 09:04:30 +08:00
为啥我想起了人生三大错觉
kuber
2017-04-17 13:32:57 +08:00
曾经碰到一个奇葩的 bug ,一个 button 点 10 次以上程序会崩溃。特别佩服那个测试。

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

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

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

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

© 2021 V2EX