[問題] trace code 到底該怎麼練?

看板C_and_CPP作者 (z0 gj3c.6)時間7年前 (2017/04/25 20:26), 7年前編輯推噓7(7028)
留言35則, 11人參與, 最新討論串1/1
大家好,小弟我算是很喜歡寫code的社會新鮮人, 在學時期常常能比其他人先一步寫出期中、期末作業, 但是要我看懂別人的code卻難如登天。 說來慚愧,都研究所畢了,對trace code還是感到生疏, 當初在學時期就是同學和學長一直協助我解釋程式碼,才能抓到感覺, 但一旦看另一份project,腦袋又好像歸零,沒辦法了解該從哪開始讀起, 也不曉得這個function會output什麼樣的結果。 請問有什麼辦法可以訓練好trace code? 大家看code的能力又是怎麼培養起來的? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.115.109.218 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1493123178.A.2BA.html

04/25 20:52, , 1F
開啟除錯器
04/25 20:52, 1F

04/25 20:53, , 2F
可以單步的就設斷點單步慢慢看,不能單步的很麻煩Q_Q
04/25 20:53, 2F

04/25 21:05, , 3F
用debugger
04/25 21:05, 3F
設斷點是還需要搭配compiler吧?如果trace一般網路上的專案或kernel source, 就會有點問題 O_Oa

04/25 21:06, , 4F
比其他人早寫完沒多厲害 八成是code又髒又醜
04/25 21:06, 4F

04/25 21:07, , 5F
trace是由大尺度先下手 先看架構 再追細節
04/25 21:07, 5F

04/25 21:07, , 6F
這也代表你平常寫程式沒有架構
04/25 21:07, 6F
是 Orz

04/25 22:18, , 7F
幫他寫註解~寫完大蓋你會知道那段在作什麼了~
04/25 22:18, 7F
這不錯!!

04/26 03:45, , 8F
主要是framework啦 命名原則啦 領域知識啦
04/26 03:45, 8F
如果一開始打開程式碼,要怎麼知道從哪裡看起?哪段function又是比較重要的? c大的意思是要先K懂那個領域的知識嗎? ※ 編輯: henry8168 (60.248.18.139), 04/26/2017 12:40:36

04/26 12:40, , 9F
很正常, 看別人的程式本來就很難
04/26 12:40, 9F

04/26 12:48, , 10F
function會發出藍色綠色金色的光,使用水晶球就會看到
04/26 12:48, 10F

04/26 12:49, , 11F
藍色: 表示這個function經常使用
04/26 12:49, 11F

04/26 12:49, , 12F
綠色: 表示function要跟其他function一起,成套使用
04/26 12:49, 12F

04/26 12:50, , 13F
金色: 表示這是超厲害的unique function 什麼core algo
04/26 12:50, 13F

04/26 12:51, , 14F
business logic 通通都在這裏面
04/26 12:51, 14F

04/26 12:52, , 15F
暗紅色: 表示這個function有bug 不過暫時沒人發現
04/26 12:52, 15F

04/26 12:53, , 16F
灰色: 毫無反應就是個function 不過如果透明透明的那就
04/26 12:53, 16F

04/26 12:54, , 17F
是ethereal function 用起來很威不過很難修
04/26 12:54, 17F
賣啊ㄋㄟ O_Q ※ 編輯: henry8168 (60.248.18.139), 04/26/2017 13:14:24

04/26 16:01, , 18F
trace code 本來就很難啊,寫的人不會特別去註解流程
04/26 16:01, 18F

04/26 16:02, , 19F
就跟著 function call 一層層找下去,有些細節先不用看
04/26 16:02, 19F

04/26 16:02, , 20F
不是從頭看到尾,是根據某個特定的功能去看
04/26 16:02, 20F

04/26 16:04, , 21F
知道軟體如何運作也會有幫助
04/26 16:04, 21F

04/26 16:04, , 22F
像是自己會寫 parser 就比較容易看得懂別人的 parser
04/26 16:04, 22F

04/26 16:06, , 23F
google "ptt Trace別人Code的方法" 有人回過這問題
04/26 16:06, 23F

04/26 16:36, , 24F
話說結構良好跟結構糟糕的程式在trace上會是兩回事
04/26 16:36, 24F

04/26 16:36, , 25F
不知道你正在看的是哪一種QQ
04/26 16:36, 25F

04/26 19:31, , 26F
下載網路上的專案,第一步看專案讀我說明,先讓專案bui
04/26 19:31, 26F

04/26 19:31, , 27F
ld的過。
04/26 19:31, 27F

04/27 23:12, , 28F
我自己的問題是看別人project常常是在開始看之前有很多想
04/27 23:12, 28F

04/27 23:12, , 29F
法心情雀躍開始看之後就會開始越看越不爽覺得這程式真的
04/27 23:12, 29F

04/27 23:12, , 30F
爆炸醜雞巴智障到底哪個腦弱寫的真的越看火越大然後…就
04/27 23:12, 30F

04/27 23:12, , 31F
不了了之了…不知道原Po是不是也是這樣orz…不爽程度大
04/27 23:12, 31F

04/27 23:12, , 32F
概比你看到我這長長一篇沒有標點高100倍
04/27 23:12, 32F

05/01 10:18, , 33F
MOONRAKER,霍格華茲加十分 XDD
05/01 10:18, 33F

05/03 02:33, , 34F
其實還真的有人是用顏色看程式的, 可以看看 K Lars Lohn
05/03 02:33, 34F

05/03 02:38, , 35F
去年在 PyCon 的演講有提到他對 coding style 的喜好
05/03 02:38, 35F
文章代碼(AID): #1O_q1gAw (C_and_CPP)