Re: [請益] 這是什麼語法 (for C)?

作者: sxy67230 (charlesgg)   2022-05-22 23:21:23
※ 引述《wsad50232 (GGYY)》之銘言
: *ptr++ =
: "zyxwvutsrqponmlkjihgfedcba9876543210123456789abcdefghijklmnopqrstuvwxyz" [35
: + (tmp_value - value * base)];
: 在這邊看到的
: https://stackoverflow.com/questions/8257714/how-to-convert-an-int-to-string-in
-c
: 不怕各位笑,小弟摸C語言這麼久,今天第一次看到這種寫法
: 看了半天,實在是不知道是什麼意思
: 程式碼我Compile過,確定是可以編譯可以Run的
: 有高手能給個解答嗎?
其實你仔細思考這塊作者本來想實作itoa的GCC代碼本來就是為了兼容各種進制下的轉換避
免寫大量的特例去處理或是要像前版本一樣要去塞pre-allocate做出特例,同時還要避免最
大負數的Bug,還有實作在GCC這種基礎庫上本來用一些指標技巧或是其他技巧就是情有可原
的,會說新手不要亂嘗試是怕新手無法駕馭,不然像linux kernel 一堆指標的指標這種技
巧避免寫出一堆特例本來就是好的方法,同時兼顧風格跟速度,這些都是能實作GCC的各大
神思考的事情。
所謂的軟體工程架構這些本來就要思考開發者的背景跟思考方法,而不是什麼只要我看不懂
的都是爛code,我不知道為什麼軟工版近期會有一堆人有這種想法而不去思考再下結論。
如果你仔細思考這段代碼而且細想他想實作的是在系統底層,那你就會理解開發者想做的事
,而不是一昧批評。
我覺得很多人不去思考開發者想實作的背景就直接下定論是蠻差的討論方式,當然,我也不
贊成新手看過大神的這樣實作方法就直接全部照抄,那也會淪為真正的爛code,為炫技而炫
技。
以上
作者: netburst (133 134 592)   2022-05-23 01:48:00
一堆人說的一嘴clean arch結果產品性能爛到哭 整天在那邊雕這個該放那那個該放這 ZZZ
作者: k798976869 (kk)   2022-05-23 08:22:00
那是因為一樓你們寫得很上層啊 效能瓶頸不在那 當然可以拿效能換可讀可維護性
作者: viper9709 (阿達)   2022-05-23 17:26:00
推~沒想過這一點
作者: netburst (133 134 592)   2022-05-24 01:16:00
效能當然不能拿來換這些
作者: wulouise (在線上!=在電腦前)   2022-05-24 08:44:00
效能也只是考量點之一,但還是根據context決定一天只跑一次的code效能可能不重要 itoa這種效能就很重

Links booklink

Contact Us: admin [ a t ] ucptt.com