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

看板Soft_Job作者 (Malicious Racist)時間2年前 (2021/12/02 19:13), 2年前編輯推噓-10(172742)
留言86則, 56人參與, 2年前最新討論串1/2 (看更多)
我玩程式語言有時候會遇到一些程式語言本身定義就跟 我自己想做的運算互相衝突的時候。Python的string被 定義為immutable, 可是可以使用index的方式去存取 字元。 比方說: s = "aabbcc" print(s[0]) 執行結果會給我輸出: a 大家在解決問題的時候,常常想的事情好像是繞過這種 問題。就我看來,能以index 的方式存取字元,我就會 誤以為可以直接對字串s 進行修改,像是 s[0] = "b" 這個敘述就不會過。 但知道python的字串是immutable之後,其實我只需要用 s存取資料,再宣告一個s1變數,把s存取的資料進行重新 組合就可以了。 常常都要做這種workaround,而不是能以我最直覺的方 式操作。 然後不同的程式語言,還會有不一樣的定義。我覺得好累 。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.42.235 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1638443613.A.124.html ※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:15:54

12/02 19:15, 2年前 , 1F
你在說中文嗎...
12/02 19:15, 1F

12/02 19:15, 2年前 , 2F
這也叫workaround???不就是語言特性
12/02 19:15, 2F
如果有程式語言把字串定義為mutable,那就又不一樣了。每個程式語言都有自 己的定義,永遠追不完。 ※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:18:21

12/02 19:17, 2年前 , 3F
有意見自己去發明語言
12/02 19:17, 3F
※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:19:43

12/02 19:21, 2年前 , 4F
這是超新手程度的問題,你來錯版了
12/02 19:21, 4F
我在想高手們是不是workaround之後,還能把他們workaround的方式寫成一個 方便使用的function,以後大家遇到一樣的問題就直接拿他們的function用。 對我是新手。 ※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:27:48

12/02 19:26, 2年前 , 5F
java: str.charAt(i)
12/02 19:26, 5F

12/02 19:29, 2年前 , 6F
python 為了易用確實犧牲了一些嚴謹的設計。如果無法接受
12/02 19:29, 6F

12/02 19:29, 2年前 , 7F
就回去寫靜態語言,可以靠 IDE 的靜態分析省很多地雷
12/02 19:29, 7F

12/02 19:53, 2年前 , 8F
要不要來寫rust,沒定義好都不給你操作
12/02 19:53, 8F

12/02 19:53, 2年前 , 9F
我還以為你要自己發PR解bug
12/02 19:53, 9F

12/02 19:54, 2年前 , 10F
不能用i++,只能用i += 1 wORkaRouND 我覺得好累
12/02 19:54, 10F

12/02 20:05, 2年前 , 11F
去寫C就沒這種問題
12/02 20:05, 11F

12/02 20:08, 2年前 , 12F
一台不能飛的車然後你抱怨怎麼不能飛?
12/02 20:08, 12F

12/02 20:10, 2年前 , 13F
這也可以唸..轉行好了
12/02 20:10, 13F

12/02 20:11, 2年前 , 14F
???
12/02 20:11, 14F

12/02 20:15, 2年前 , 15F
某些人開發的APP會閃退就是這樣搞
12/02 20:15, 15F

12/02 20:33, 2年前 , 16F
你也想了個workaround不會被刪文但是也沒解決什麼
12/02 20:33, 16F

12/02 20:33, 2年前 , 17F
問題。
12/02 20:33, 17F

12/02 20:34, 2年前 , 18F
可以考慮包成函式~雖然這樣就違背原語言的特性了...
12/02 20:34, 18F

12/02 20:47, 2年前 , 19F
哈哈,還好你沒寫過 perl,你會瘋掉
12/02 20:47, 19F

12/02 20:49, 2年前 , 20F
你錯了,高手遇到這問題就會再發明一種新語言,不然
12/02 20:49, 20F

12/02 20:49, 2年前 , 21F
你以為為什麼會有這麼多語言?
12/02 20:49, 21F

12/02 21:02, 2年前 , 22F
python的字串是mutable 這不是workaround 用改陣列的方
12/02 21:02, 22F

12/02 21:02, 2年前 , 23F
式改字串習慣很不好
12/02 21:02, 23F

12/02 21:17, 2年前 , 24F
12/02 21:17, 24F

12/02 21:44, 2年前 , 25F
python的字串是mutable <-- 這是對的嗎?
12/02 21:44, 25F

12/02 21:48, 2年前 , 26F
寫php啊簡單粗暴
12/02 21:48, 26F

12/02 21:57, 2年前 , 27F
你的問題是怎麼會覺得好累,不要一直坐著要多運動
12/02 21:57, 27F

12/02 21:59, 2年前 , 28F
很多都不直覺沒錯 java就是 一堆以設定當語法的...
12/02 21:59, 28F

12/02 22:00, 2年前 , 29F
語法即是設定 不然要ide做什麼 根本不好除錯
12/02 22:00, 29F

12/02 22:01, 2年前 , 30F
java底層還ok 一堆框架步步是坑 浪費時間工具鏈
12/02 22:01, 30F

12/02 22:02, 2年前 , 31F
你確定你知道什麼叫做workaround?
12/02 22:02, 31F

12/02 22:06, 2年前 , 32F
看來你把python字串immutable的設計視為一個問題 窩
12/02 22:06, 32F

12/02 22:06, 2年前 , 33F
覺得不是這樣的
12/02 22:06, 33F

12/02 22:06, 2年前 , 34F
12/02 22:06, 34F

12/02 22:07, 2年前 , 35F
每種語言有不同設計哲學,覺得無法了解,就換一種吧。
12/02 22:07, 35F

12/02 22:14, 2年前 , 36F
有時候真的覺得很感慨 學習學一堆沒實質意義又很累的
12/02 22:14, 36F

12/02 22:14, 2年前 , 37F
做什麼呢?
12/02 22:14, 37F

12/02 22:33, 2年前 , 38F
此篇前提不對吧
12/02 22:33, 38F

12/02 22:45, 2年前 , 39F
為什麼能以index存取就要能修改? get和set分開不是很常見?
12/02 22:45, 39F

12/02 22:49, 2年前 , 40F
你所謂的workaround還是沒有修改到原物件,這只是正常操作
12/02 22:49, 40F

12/02 22:56, 2年前 , 41F
然後說到直覺,很多人所謂的直覺,其實只是自己最先學的語
12/02 22:56, 41F

12/02 23:00, 2年前 , 42F
言的特性,自己用有誤會的成見寫錯了再說不直覺
12/02 23:00, 42F

12/03 00:08, 2年前 , 43F
#1XfUPdaE (graduate)考不上研究所比這件事感慨多了
12/03 00:08, 43F

12/03 00:42, 2年前 , 44F
12/03 00:42, 44F

12/03 08:53, 2年前 , 45F
怎又語言大戰
12/03 08:53, 45F

12/03 09:38, 2年前 , 46F
說出一句話後 不管再怎麼想改變句子的內容 就是第二句
12/03 09:38, 46F

12/03 09:38, 2年前 , 47F
話了 所以用新的字串來保存你想改變的新的字串 也沒什
12/03 09:38, 47F

12/03 09:38, 2年前 , 48F
麼不對
12/03 09:38, 48F

12/03 09:39, 2年前 , 49F
這文也太廢了 你還是去7-11好了
12/03 09:39, 49F

12/03 09:40, 2年前 , 50F
原本的直接用陣列越過保護 才真的是workaround
12/03 09:40, 50F

12/03 11:09, 2年前 , 51F
等你發明一套新語言
12/03 11:09, 51F

12/03 12:30, 2年前 , 52F
原來是中文系...http://shorturl.at/lFKPV
12/03 12:30, 52F

12/03 12:30, 2年前 , 53F
不過你的中文呢.....
12/03 12:30, 53F

12/03 12:35, 2年前 , 54F
還好我門外漢 不認為這是問題
12/03 12:35, 54F

12/03 13:02, 2年前 , 55F
我都直接右鍵 格式化硬碟
12/03 13:02, 55F

12/03 13:02, 2年前 , 56F
可悲
12/03 13:02, 56F

12/03 13:34, 2年前 , 57F
吐了= =
12/03 13:34, 57F

12/03 14:29, 2年前 , 58F
為什麼推數是正的
12/03 14:29, 58F

12/03 15:41, 2年前 , 59F
原來是上次在研所版被噓爆的朋友,看來你還是轉換跑道好
12/03 15:41, 59F

12/03 15:41, 2年前 , 60F
12/03 15:41, 60F

12/03 17:09, 2年前 , 61F
大家都有得噓 真好
12/03 17:09, 61F

12/03 17:41, 2年前 , 62F
看他以前的發文真的搞不懂是不是在反串0.0
12/03 17:41, 62F

12/03 17:57, 2年前 , 63F
講中文
12/03 17:57, 63F

12/03 18:52, 2年前 , 64F
以py的特性, 難保有人想在裡面塞多個char,這討論不
12/03 18:52, 64F

12/03 18:52, 2年前 , 65F
12/03 18:52, 65F

12/03 19:06, 2年前 , 66F
浪費五分鐘想這到底是不是反串釣魚
12/03 19:06, 66F

12/03 19:46, 2年前 , 67F
笑死 到底在供蝦毀
12/03 19:46, 67F

12/03 20:25, 2年前 , 68F
你第一天寫程式是不是
12/03 20:25, 68F

12/03 20:42, 2年前 , 69F
你的workaround 想法真特別,你是半桶雞還是新人?
12/03 20:42, 69F

12/03 20:59, 2年前 , 70F
char array確實貼合C 沒有不好
12/03 20:59, 70F

12/03 22:38, 2年前 , 71F
只能說規模不同做法有差
12/03 22:38, 71F

12/04 04:24, 2年前 , 72F
我覺得去上班的路程都比這些累 參考一下
12/04 04:24, 72F

12/04 18:39, 2年前 , 73F
...............你不太適合後端
12/04 18:39, 73F

12/05 13:23, 2年前 , 74F
聖光術
12/05 13:23, 74F

12/06 03:05, 2年前 , 75F
XD
12/06 03:05, 75F

12/06 13:10, 2年前 , 76F
這種程度拜託不要再寫code了
12/06 13:10, 76F

12/06 15:30, 2年前 , 77F
Immutable的中文是不可變的,跟用index讀取不衝突啊
12/06 15:30, 77F

12/06 18:04, 2年前 , 78F
阿鬼你砍掉重練吧
12/06 18:04, 78F

12/06 18:12, 2年前 , 79F
字串為什麼是immune的是有它的原因
12/06 18:12, 79F

12/06 18:13, 2年前 , 80F
可以參考“程式設計師的自我修養”一書
12/06 18:13, 80F

12/06 21:26, 2年前 , 81F
看來這篇推文是針對樓主的 不過只能說哪有什麼修養
12/06 21:26, 81F

12/06 21:26, 2年前 , 82F
有名的專案還不是爛的跟什麼一樣
12/06 21:26, 82F

12/07 08:12, 2年前 , 83F
你不適合寫程式,轉行吧
12/07 08:12, 83F

12/07 08:13, 2年前 , 84F
搞不清楚還不懂問人,說別人workaround
12/07 08:13, 84F

12/07 09:24, 2年前 , 85F
被噓到這樣跟風的應該不少 這種保護的確會造成效率下
12/07 09:24, 85F

12/07 09:24, 2年前 , 86F
降就是了
12/07 09:24, 86F
文章代碼(AID): #1XgAfT4a (Soft_Job)
文章代碼(AID): #1XgAfT4a (Soft_Job)