楼主:
gasbomb (虚空雷神兽)
2021-12-03 13:50:02※ 引述《applebg (Malicious Racist)》之铭言:
笑死人
一看就是没有reference观念的菜鸡
immutable string就是要阻止你这种雷包写出粪code啦
今天要是有人很衰小, 要跟你一起开发医院的资讯系统
然后又很衰小的, 开发语言的string又是mutable的
那会发生什么事情呢?
假设今天在开发挂号系统好了
你负责的是诊间门口叫号机的程式
好不容易按照需求文件的设计把程式都完成了
不过需求上有一项"因应个资法, 病患姓名需要隐码"
所以你就很直觉的写下
patient.fullname[1] = "○"
好聪明好直觉喔
这样病患的姓名就会显示成"王○明", "张○华"了呢
然后就会发现
只要病患资料有经过你写的程式处理过
姓名全部都变成"王○明", "张○华"了
因为你直接从病患的物件里面取出病患姓名string的reference
然后在reference不变的情况下直接把string的value改掉
下场就是所有用到同一个reference的程式都会被你影响到
最后来谈谈什么叫做workaround
写出上面那种粪code
开除你叫做解决问题
公司不开除你
逼得大家以后pass reference给你的时候都要先自己deep copy一次
这才有资格叫workaround
作者:
tbpfs (http://0rz.tw/Uk989)
2021-12-03 13:55:00作者:
loadingN (sarsaparilla)
2021-12-03 14:14:00我觉得你的例子很好
作者:
dati (水脑)
2021-12-03 14:18:00你举的例子真超好,但粗暴语言 DUCK不必
作者:
bill0205 (善良的小孩没人爱)
2021-12-03 14:22:00你干嘛认真XDD
这例子不是仅在view且display做替换就好?
好好笑== 不过例子就是鲜明实在点好在Job版要专业一点ㄚ 对ㄚ==
作者:
Nonegrame (程式写得好,好人做到老)
2021-12-03 17:26:00笑死 我要看到血流成河
作者:
ricky155030 (HighPoint( ̄□ ̄|||)a)
2021-12-03 18:01:00推你的workaround
作者:
VF84 (Jolly Roger)
2021-12-03 18:54:00他要是去写 Rust,大概会想直接登出人生 www
作者: argc (哈鲁) 2021-12-03 19:30:00
好例子
作者: superpandal 2021-12-03 20:56:00
例子很好??? 这是人的问题吧 应该要有自我要求写出好codepython就是这样动态语言黑魔法消失了一个语言不会因为有了规范就不会被人写成一驼屎
有ㄚ 如果你用rust不可变引用传进去看你怎么改不像c强制转型一下就好了 codereview看起来也不明显
作者: jhjhs33504 ( ) 2021-12-03 23:07:00
这例子破绽其实一样没分是get还set实务上语言规范会挡
作者:
Lhmstu (lhmstu)
2021-12-04 08:52:00写实workaround
作者:
ADEMAIN (阿德门)
2021-12-04 08:54:00笑死
作者: rog43 (Ed) 2021-12-04 09:14:00
你好凶喔 但是我喜欢
作者:
kkes0001 (kkes0308)
2021-12-04 12:15:00凶
作者: sjensen (KwonIn) 2021-12-04 12:39:00
推例子
作者:
claymath (轮回的印记 藏在我眉宇)
2021-12-05 04:46:00好派
作者:
a731977 (卡哇邦卡)
2021-12-05 17:33:00推
作者: ftrhalcyon (futurehalcyon) 2021-12-05 20:20:00
专业举例
作者: GTX9080 (你有Bootloader吗) 2021-12-06 01:11:00
好凶 但我喜欢XD
作者:
amiwry (肥墩墩大人)
2021-12-06 12:18:00举例很好,这阵子也被类似事情雷到,哎
作者: superpandal 2021-12-06 21:35:00
引用也很常见
这只是套用进最差的使用情况在functional的程式设计中 不改动原值 确保重复执行某func所得的值是相同 但OOP里面没这么强调的情况 改动原值是常见的作法另外一方面 改动原值可以不用重复的挖取内存以此篇例子不管有没有字串有没有保护 解法应该都不是改动原本字串 原本的名子字串只有在真的改名的时候才会修改
作者: flash5408 2021-12-08 17:19:00
这种code review 跟 test都没抓出来是整个公司的问题吧
作者:
MartinJ40 (Martin J-40)
2021-12-08 18:06:00呛 我喜欢
作者:
Jonny5 (强尼五号)
2021-12-30 18:34:00笑死