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