作者sxy67230 (charlesgg)
看板Soft_Job
标题Re: [请益] 这是什麽语法 (for C)?
时间Sun May 22 23:21:23 2022
※ 引述《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,为炫技而炫
技。
以上
----
Sent from
BePTT on my Sony XQ-AU52
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.10.6.188 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1653232885.A.02D.html
1F:→ netburst: 一堆人说的一嘴clean arch结果产品性能烂到哭 整天在那 05/23 01:48
2F:→ netburst: 边雕这个该放那那个该放这 ZZZ 05/23 01:48
3F:推 k798976869: 那是因为一楼你们写得很上层啊 效能瓶颈不在那 当然可 05/23 08:22
4F:→ k798976869: 以拿效能换可读可维护性 05/23 08:22
5F:→ viper9709: 推~没想过这一点 05/23 17:26
6F:→ netburst: 效能当然不能拿来换这些 05/24 01:16
7F:推 wulouise: 效能也只是考量点之一,但还是根据context决定 05/24 08:44
8F:→ wulouise: 一天只跑一次的code效能可能不重要 itoa这种效能就很重 05/24 08:44