PTT推薦

Re: [討論] 遇到問題就workaround真的好嗎?

看板Soft_Job標題Re: [討論] 遇到問題就workaround真的好嗎?作者
gasbomb
(虛空雷神獸)
時間推噓33 推:33 噓:0 →:23

※ 引述《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

--
╔═ ═╦╦═════╦═════╗
◤◤◤ ╠╣飛鳥ももこ╠═╗ ║
║╚═════╝ ╚═╦═╣
║╔══════╗╔═╩═╣
█◤ ╠╣Momoko Asuka╠╝ ║
◣◢◣◢╩╩══════╩════╝

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.216.106 (臺灣)
PTT 網址

masturbateee12/03 13:54真正的「解決不了問題就解決製造問題的人」

tbpfs12/03 13:55你認真了,網路查一下這個ID,就知道是廢文產生機

tbpfs12/03 13:56然後他應該也看不懂你在寫什麼

nh60211as12/03 13:57別這麼火爆

loadingN12/03 14:14我覺得你的例子很好

dati12/03 14:18你舉的例子真超好,但粗暴語言 DUCK不必

bill020512/03 14:22你幹嘛認真XDD

airtsubasa12/03 14:34這例子不是僅在view且display做替換就好?

Firstshadow12/03 15:55好好笑== 不過例子就是鮮明實在點好

(づ′・ω・)づ 你的推文怎麼沒有這個了?

※ 編輯: gasbomb (1.34.216.106 臺灣), 12/03/2021 16:11:42

Firstshadow12/03 16:20在Job版要專業一點ㄚ 對ㄚ==

Firstshadow12/03 16:23(づ′・ω・)づ ..

sniper282412/03 17:03為什麼要回廢文 這人就是來鬧的而已

DarkIllusion12/03 17:05workaround 的例子舉得很好 滿分

Nonegrame12/03 17:26笑死 我要看到血流成河

ricky15503012/03 18:01推你的workaround

Raymond071012/03 18:38XD 廢文也能吊出認真文 好例子給推

VF8412/03 18:54他要是去寫 Rust,大概會想直接登出人生 www

andy83102012/03 19:07讚讚讚

argc12/03 19:30好例子

BigCockman12/03 19:53最後一段XD

zero1199512/03 20:14哈哈哈哈哈

superpandal12/03 20:56例子很好??? 這是人的問題吧 應該要有自我要求寫出好

superpandal12/03 20:56code

superpandal12/03 20:57python就是這樣動態語言黑魔法消失了

superpandal12/03 21:06一個語言不會因為有了規範就不會被人寫成一駝屎

lturtsamuel12/03 22:26有ㄚ 如果你用rust不可變引用傳進去看你怎麼改

lturtsamuel12/03 22:27不像c強制轉型一下就好了 codereview看起來也不明顯

viper970912/03 22:48推這篇

jhjhs3350412/03 23:07這例子破綻其實一樣沒分是get還set實務上語言規範會擋

Lhmstu12/04 08:52寫實workaround

ADEMAIN12/04 08:54笑死

rog4312/04 09:14你好兇喔 但是我喜歡

kkes000112/04 12:15

sjensen12/04 12:39推例子

vi00024612/04 13:54XDDDDDDD

charliebitme12/05 00:31好兇lol 真的人如其名gasbomb

claymath12/05 04:46好派

a73197712/05 17:33

ftrhalcyon12/05 20:20專業舉例

cha12297712/05 22:10Workaround滿分

GTX908012/06 01:11好兇 但我喜歡XD

amiwry12/06 12:18舉例很好,這陣子也被類似事情雷到,哎

superpandal12/06 21:35引用也很常見

shooter55512/07 09:26這只是套用進最差的使用情況

shooter55512/07 09:29在functional的程式設計中 不改動原值 確保重複執行某

shooter55512/07 09:31func所得的值是相同 但OOP裡面沒這麼強調的情況 改動

shooter55512/07 09:31原值是常見的作法

shooter55512/07 09:32另外一方面 改動原值可以不用重複的挖取記憶體

shooter55512/07 09:40以此篇例子不管有沒有字串有沒有保護 解法應該都不是

shooter55512/07 09:41改動原本字串 原本的名子字串只有在真的改名的時候才

shooter55512/07 09:41會修改

flash540812/08 17:19這種code review 跟 test都沒抓出來是整個公司的問題

flash540812/08 17:19

MartinJ4012/08 18:06嗆 我喜歡

Jonny512/30 18:34笑死