墨菲定律对于后端程序员来说真的是条应该写入到生物本能的定律

2022-08-07 14:49:33 +08:00
 weiweiwitch

一个技术是否应该用到项目中,不是这个技术好不好用,而是对于团队来说,这个技术中,会引发问题特别是严重问题的风险用法是否都被限制而做到可控了,坑是否被趟完了,后备方案是否做完备了。

这次项目上线真的验证了这条定律!

随着时间的推移,需求的不断变化,开发人员的变动,用户数带来的放大效应。所有各种以前觉得不太可能写出来的、乱七八糟的、难以置信的错误用法都会被人写出来用到项目中,然后引发灾难性的后果。

然后修数据修到抑郁。

3674 次点击
所在节点    程序员
24 条回复
iosyyy
2022-08-07 14:59:50 +08:00
墨菲定律就是典型的幸存者偏差.. 作为一个程序员应该理性的看待一切 像墨菲定律这种毫无理性的东西就不要到处宣传了
iosyyy
2022-08-07 15:00:54 +08:00
对于一个团队来说应该做的事情是在引入新技术的情况下做好测试和准备工作 并且有预谋的去做好所有可能出现的线上问题
要么就不要引入这个技术
iosyyy
2022-08-07 15:06:29 +08:00
@iosyyy 忘了说了我这里说的是国内普遍认为的墨菲定律 国外版本的"一件事情只要要出错的可能性,就算万分之一,只要继续做下去就一定会出错,如果事情有变坏的可能,不管这种可能性有多小,它总会发生。"与这个还能贴的上边
Jooooooooo
2022-08-07 15:13:51 +08:00
我的感受是, 埋的坑终究会爆发, 虽然可能是几年后. (我就遇到过, 好几年做的功能用了不太好的实现, 当时我就说这个坑总会造成问题, 最后是三年后确实出问题了
zxCoder
2022-08-07 15:26:25 +08:00
墨菲定律:如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择。根本内容是:如果事情有变坏的可能,不管这种可能性有多小,它总会发生。

查了一下,这啥玩意。。。说话跟说话一样
haoliang
2022-08-07 15:32:07 +08:00
啊,你们给出的定义跟我看过的不太一样啊,确切说跟星际穿越里 cooper 说的不一样

85
00:06:05,658 --> 00:06:09,745
Murphy's Law doesn't mean
that something bad will happen.

86
00:06:09,912 --> 00:06:13,291
What it means is
whatever can happen will happen.
wonderfulcxm
2022-08-07 15:46:01 +08:00
考虑边际问题和极端情况这不是程序员正常的思维方式吗
wolfie
2022-08-07 17:13:41 +08:00
《酒吧点炒饭》
尽可能涵盖所有场景,无法做到全部。
LeegoYih
2022-08-07 17:21:44 +08:00
一定要加唯一索引!
7zlid
2022-08-07 17:37:46 +08:00
找个不会办事的人去给你买个东西跑个腿
你就明白墨菲定律了
deesan
2022-08-07 17:56:32 +08:00
墨菲定律:只要有 bug ,就会被发现
RicardoY
2022-08-07 19:15:27 +08:00
@iosyyy 墨菲定律还有一个描述是,如果一件事有很小的出错几率,但只要重复足够的次数,就一定会出错。感觉这个描述很适合后端场景😀
jones2000
2022-08-07 23:53:42 +08:00
这个应该是团队能力问题了, 如果团队的能力就只能掌控 10W 行代码, 随着时间推移,需求增加代码涨到 50W 行,超出团队能力掌控范围了,就各种乱了, 除非团队也能随这时间推移能力是提升的,否则就歇菜。
7zlid
2022-08-08 02:19:49 +08:00
@7zlid 他总能在你意想不到的地方搞砸你的事情
你认为这不是显而易见?
墨菲定律的核心就是
如果有一个地方可以搞砸整个事情,那么肯定有人去搞砸
可能可以理解是熵减比熵增更难
7zlid
2022-08-08 02:22:20 +08:00
@7zlid 如果有一个地方可以搞砸整个事情,那么肯定有人去搞砸
这件事情在团队工作特别明显,即使是非常厉害的团队也一样
比如 Nasa 的人把卫星砸了…
aireason
2022-08-08 08:54:15 +08:00
我挺认同的。

很多时候写一些代码、用一些工具存在侥幸心理,感觉 bug 不会触发、麻烦的事不会到来。但是代码用久了,害怕的事情迟早会出现。
NessajCN
2022-08-08 09:11:54 +08:00
墨菲定律是非常严谨的客观定律,
「在统计样本足够大时,某小概率事件必定发生」
居然还有人说墨菲定律毫无理性...
iXInbo
2022-08-08 09:22:35 +08:00
我觉得,题主说的这个事不是墨菲定律,而是破窗定律;
nothingistrue
2022-08-08 09:34:54 +08:00
“随着时间的推移,需求的不断变化,开发人员的变动,用户数带来的放大效应。所有各种以前觉得不太可能写出来的、乱七八糟的、难以置信的错误用法都会被人写出来用到项目中,然后引发灾难性的后果。”引起这个的原因,跟墨菲定律屁都沾不上,这原因推起来非常容易:为什么,因为没有全面测试——为什么没有全面测试,因为如果全面测试就要加班——为什么要加班才能全面测试,因为全面测试的东西不在计划内——为什么全面测试的东西不在计划内,会推向一个国人普片翻的错误:只看结果不看过程。
weiweiwitch
2022-08-08 11:00:20 +08:00
@iosyyy 我觉得你说的这个做法是我期望的做法。既不因噎废食的敌视新技术,也不盲目冒进的追求新技术。而是采用循序渐进,谨慎的接受新技术。
然后 17 楼的解释是我觉得这个定律要说明的,也是后端需要牢记的。

因为实际情况中,很多后端会主动或被动的忽视它,然后像赌徒一样盲目的引入各种变化,并觉得出问题的可能性不大,或者不会发生在自己身上。

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

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

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

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

© 2021 V2EX