作者:
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笑死