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

軟工

39330

笑死人
一看就是沒有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.cc), 來自: 1.34.216.106 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1638510605.A.DCB.html
masturbateee1樓真正的「解決不了問題就解決製造問題的人」 12/03 13:54
tbpfs2樓你認真了,網路查一下這個ID,就知道是廢文產生機 12/03 13:55
tbpfs4樓然後他應該也看不懂你在寫什麼 12/03 13:56
nh60211as5樓別這麼火爆 12/03 13:57
loadingN6樓我覺得你的例子很好 12/03 14:14
dati7樓你舉的例子真超好,但粗暴語言 DUCK不必 12/03 14:18
bill02058樓你幹嘛認真XDD 12/03 14:22
airtsubasa9樓這例子不是僅在view且display做替換就好? 12/03 14:34
Firstshadow10樓好好笑== 不過例子就是鮮明實在點好 12/03 15:55
(づ′・ω・)づ 你的推文怎麼沒有這個了?
Firstshadow11樓在Job版要專業一點ㄚ 對ㄚ== 12/03 16:20
Firstshadow12樓(づ′・ω・)づ .. 12/03 16:23
sniper282413樓為什麼要回廢文 這人就是來鬧的而已 12/03 17:03
DarkIllusion14樓workaround 的例子舉得很好 滿分 12/03 17:05
Nonegrame15樓笑死 我要看到血流成河 12/03 17:26
ricky15503016樓推你的workaround 12/03 18:01
Raymond071017樓XD 廢文也能吊出認真文 好例子給推 12/03 18:38
VF8418樓他要是去寫 Rust,大概會想直接登出人生 www 12/03 18:54
andy83102019樓讚讚讚 12/03 19:07
argc20樓好例子 12/03 19:30
BigCockman21樓最後一段XD 12/03 19:53
zero1199522樓哈哈哈哈哈 12/03 20:14
superpandal23樓例子很好??? 這是人的問題吧 應該要有自我要求寫出好 12/03 20:56
superpandal24樓code 12/03 20:56
superpandal25樓python就是這樣動態語言黑魔法消失了 12/03 20:57
superpandal26樓一個語言不會因為有了規範就不會被人寫成一駝屎 12/03 21:06
lturtsamuel27樓有ㄚ 如果你用rust不可變引用傳進去看你怎麼改 12/03 22:26
lturtsamuel28樓不像c強制轉型一下就好了 codereview看起來也不明顯 12/03 22:27
viper970929樓推這篇 12/03 22:48
jhjhs3350430樓這例子破綻其實一樣沒分是get還set實務上語言規範會擋 12/03 23:07