作者henry8168 (z0 gj3c.6)
看板C_and_CPP
标题[问题] trace code 到底该怎麽练?
时间Tue Apr 25 20:26:14 2017
大家好,小弟我算是很喜欢写code的社会新鲜人,
在学时期常常能比其他人先一步写出期中、期末作业,
但是要我看懂别人的code却难如登天。
说来惭愧,都研究所毕了,对trace code还是感到生疏,
当初在学时期就是同学和学长一直协助我解释程式码,才能抓到感觉,
但一旦看另一份project,脑袋又好像归零,没办法了解该从哪开始读起,
也不晓得这个function会output什麽样的结果。
请问有什麽办法可以训练好trace code?
大家看code的能力又是怎麽培养起来的?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 58.115.109.218
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1493123178.A.2BA.html
1F:→ pttworld: 开启除错器 04/25 20:52
2F:推 james732: 可以单步的就设断点单步慢慢看,不能单步的很麻烦Q_Q 04/25 20:53
3F:→ Ommm5566: 用debugger 04/25 21:05
设断点是还需要搭配compiler吧?如果trace一般网路上的专案或kernel source,
就会有点问题 O_Oa
4F:→ Ommm5566: 比其他人早写完没多厉害 八成是code又脏又丑 04/25 21:06
5F:→ Ommm5566: trace是由大尺度先下手 先看架构 再追细节 04/25 21:07
6F:→ Ommm5566: 这也代表你平常写程式没有架构 04/25 21:07
是 Orz
7F:推 Leadgen: 帮他写注解~写完大盖你会知道那段在作什麽了~ 04/25 22:18
这不错!!
8F:推 chuegou: 主要是framework啦 命名原则啦 领域知识啦 04/26 03:45
如果一开始打开程式码,要怎麽知道从哪里看起?哪段function又是比较重要的?
c大的意思是要先K懂那个领域的知识吗?
※ 编辑: henry8168 (60.248.18.139), 04/26/2017 12:40:36
9F:→ descent: 很正常, 看别人的程式本来就很难 04/26 12:40
10F:→ MOONRAKER: function会发出蓝色绿色金色的光,使用水晶球就会看到 04/26 12:48
11F:→ MOONRAKER: 蓝色: 表示这个function经常使用 04/26 12:49
12F:→ MOONRAKER: 绿色: 表示function要跟其他function一起,成套使用 04/26 12:49
13F:→ MOONRAKER: 金色: 表示这是超厉害的unique function 什麽core algo 04/26 12:50
14F:→ MOONRAKER: business logic 通通都在这里面 04/26 12:51
15F:→ MOONRAKER: 暗红色: 表示这个function有bug 不过暂时没人发现 04/26 12:52
16F:→ MOONRAKER: 灰色: 毫无反应就是个function 不过如果透明透明的那就 04/26 12:53
17F:→ MOONRAKER: 是ethereal function 用起来很威不过很难修 04/26 12:54
卖啊ㄋㄟ O_Q
※ 编辑: henry8168 (60.248.18.139), 04/26/2017 13:14:24
18F:推 Neisseria: trace code 本来就很难啊,写的人不会特别去注解流程 04/26 16:01
19F:→ Neisseria: 就跟着 function call 一层层找下去,有些细节先不用看 04/26 16:02
20F:→ Neisseria: 不是从头看到尾,是根据某个特定的功能去看 04/26 16:02
21F:→ Neisseria: 知道软体如何运作也会有帮助 04/26 16:04
22F:→ Neisseria: 像是自己会写 parser 就比较容易看得懂别人的 parser 04/26 16:04
23F:→ descent: google "ptt Trace别人Code的方法" 有人回过这问题 04/26 16:06
24F:推 james732: 话说结构良好跟结构糟糕的程式在trace上会是两回事 04/26 16:36
25F:→ james732: 不知道你正在看的是哪一种QQ 04/26 16:36
26F:→ pttworld: 下载网路上的专案,第一步看专案读我说明,先让专案bui 04/26 19:31
27F:→ pttworld: ld的过。 04/26 19:31
28F:推 CoNsTaR: 我自己的问题是看别人project常常是在开始看之前有很多想 04/27 23:12
29F:→ CoNsTaR: 法心情雀跃开始看之後就会开始越看越不爽觉得这程式真的 04/27 23:12
30F:→ CoNsTaR: 爆炸丑鸡巴智障到底哪个脑弱写的真的越看火越大然後…就 04/27 23:12
31F:→ CoNsTaR: 不了了之了…不知道原Po是不是也是这样orz…不爽程度大 04/27 23:12
32F:→ CoNsTaR: 概比你看到我这长长一篇没有标点高100倍 04/27 23:12
33F:推 ronin728: MOONRAKER,霍格华兹加十分 XDD 05/01 10:18
34F:→ uranusjr: 其实还真的有人是用颜色看程式的, 可以看看 K Lars Lohn 05/03 02:33
35F:→ uranusjr: 去年在 PyCon 的演讲有提到他对 coding style 的喜好 05/03 02:38