看板 Soft_Job 關於我們 聯絡資訊
※ 引述《gogogogoooo (...)》之銘言: : 目前剛進去工作 : 主管便把他們Team開發成品到現在的source code丟給我看 : 大概數十萬行吧 裡頭的註解非常的少 可以說是沒有 : 主管叫我自行trace code 看懂整個程式碼在幹麻 : 常常看到一大堆變數 卻完全不曉得意義為何 : 也不知道幹麼用 覺得非常的挫折 不寫註解的公司,是公司本身的問題比較大,工程師 問題比較小,公司不要求,誰想去寫那個? 舉個例子,看到一行程式: __irq_enable(); 理所當然是開啟中斷... 細找下去...看到一行 #define (IRQ_CTL & 0x2) __irq_enable(); 接著你已經知道IRQ_CTL應該就是設定中斷狀態的某個咚咚, 繼續找下去可能會看到 #define IRQ_CTL 0x8000+0x2 喔,原來是base address加上各個偏移植代表不同設定區。 這時候你去翻這顆CHIP的手冊,原來就列在裡面.... 其實整個系統跟硬體周邊是息息相關的,每個周邊都會有至少一本 手冊可以參考,這種東西就是看過一次設定過一次就懂的, 也不需要去重翻。就像 __irq_enable(); 這種東西如果 是你自己寫的,那麼看一輩子都會知道他是啥,既然如此, 寫的人幹嘛寫自己一定看得懂的東西? 所以我才說這是公司不要求的後果,如果公司要求呢? 他大可在一些奇怪的地方加個小註解,例如碰到 data[i]=SCIBUFRX 可以註解成 // SCIBUFRX = serial 接收緩衝區,定義請參考XX手冊SCI部分。 目前你能做的就是把所有搞不懂的變數從頭到尾追溯到 最終的文件,才會知道比較完整的架構,不然看半天還是會 一知半解的,特別是當你需要動手去修改功能的時候。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.106.105
areyo:trace也可以幫自己練debug功力XD 10/23 22:39
OnlyRD:DEFINE反了 而且這行CODE嵌在程式裡沒有用 10/25 00:59
Dungeon:好眼力 10/25 04:23