Re: [讨论] 遇到问题就workaround真的好吗?

楼主: 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
作者: masturbateee (奶头好痒怎么办)   2021-12-03 13:54:00
真正的“解决不了问题就解决制造问题的人”
作者: tbpfs (http://0rz.tw/Uk989)   2021-12-03 13:55:00
你认真了,网络查一下这个ID,就知道是废文产生机https://www.pttweb.cc/user/applebg?t=article然后他应该也看不懂你在写什么
作者: nh60211as   2021-12-03 13:57: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
作者: airtsubasa (伪学姊)   2021-12-03 14:34:00
这例子不是仅在view且display做替换就好?
作者: Firstshadow (IamCatづミ'_'ミづ)   2021-12-03 15:55:00
好好笑== 不过例子就是鲜明实在点好在Job版要专业一点ㄚ 对ㄚ==
作者: sniper2824 (月夜)   2021-12-03 17:03:00
为什么要回废文 这人就是来闹的而已
作者: DarkIllusion (′・ω・‵)   2021-12-03 17:05:00
workaround 的例子举得很好 满分
作者: Nonegrame (程式写得好,好人做到老)   2021-12-03 17:26:00
笑死 我要看到血流成河
作者: ricky155030 (HighPoint( ̄□ ̄|||)a)   2021-12-03 18:01:00
推你的workaround
作者: Raymond0710 (雷门)   2021-12-03 18:38:00
XD 废文也能吊出认真文 好例子给推
作者: VF84 (Jolly Roger)   2021-12-03 18:54:00
他要是去写 Rust,大概会想直接登出人生 www
作者: andy831020 (Liszt1020)   2021-12-03 19:07:00
赞赞赞
作者: argc (哈鲁)   2021-12-03 19:30:00
好例子
作者: BigCockman (大雕男)   2021-12-03 19:53:00
最后一段XD
作者: zero11995 (囧)   2021-12-03 20:14:00
哈哈哈哈哈
作者: superpandal   2021-12-03 20:56:00
例子很好??? 这是人的问题吧 应该要有自我要求写出好codepython就是这样动态语言黑魔法消失了一个语言不会因为有了规范就不会被人写成一驼屎
作者: lturtsamuel (港都都教授)   2021-12-03 22:26:00
有ㄚ 如果你用rust不可变引用传进去看你怎么改不像c强制转型一下就好了 codereview看起来也不明显
作者: viper9709 (阿达)   2021-12-03 22:48:00
推这篇
作者: 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
推例子
作者: vi000246 (Vi)   2021-12-04 13:54:00
XDDDDDDD
作者: charliebitme (查理咬我)   2021-12-05 00:31:00
好凶lol 真的人如其名gasbomb
作者: claymath (轮回的印记 藏在我眉宇)   2021-12-05 04:46:00
好派
作者: a731977 (卡哇邦卡)   2021-12-05 17:33:00
作者: ftrhalcyon (futurehalcyon)   2021-12-05 20:20:00
专业举例
作者: cha122977 (CHA)   2021-12-05 22:10:00
Workaround满分
作者: GTX9080 (你有Bootloader吗)   2021-12-06 01:11:00
好凶 但我喜欢XD
作者: amiwry (肥墩墩大人)   2021-12-06 12:18:00
举例很好,这阵子也被类似事情雷到,哎
作者: superpandal   2021-12-06 21:35:00
引用也很常见
作者: shooter555 (shooter)   2021-12-07 09:26: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
笑死

Links booklink

Contact Us: admin [ a t ] ucptt.com