[請益] 如何有效率的看code ?

作者: Blissey (蛋蛋)   2020-07-11 17:46:23
轉職一年多
幾萬行龐大的code 實在不知道要怎麼看
導致工作進度落後 常delay 交不出來
每天工時12小時 假日有時還進公司自主加班
其實也不只是code 還有背景知識也不熟悉
像是錄影跟回放功能 這些以前學校都沒學過
太多不懂不知道從何問起 只能慢慢嘗試 非常無力
總不可能請同事從頭教我
有人也是進職場遇到自己從沒學過的東西嗎?
本來想找課本來看 但母校的課程網頁 好像也沒有教這一塊
就算假日沒進公司 心裡也沒辦法放鬆
都在焦慮周一進公司 要怎麼面對這些code....
抱歉 說了一大堆 總結問題
1.如何有效率地看龐大的code
2.不懂的背景知識,該如何有效率學習
先謝謝前輩了orz
作者: sourbait (sourbait)   2020-07-11 17:49:00
沒架構文件?
作者: benedict76 (ben)   2020-07-11 17:49:00
先問前輩程式架構,先了解架構後再看才有意義,不然程式就一堆if else是有什麼難的?
作者: flysonics (飛音)   2020-07-11 17:50:00
老鳥:嘻嘻 我手把手教你你不就追上來了 何必呢一般來講都應該要有架構文件啦 一般來講.....如果你真的很衰 碰到沒有架構文件又不想丟辭呈的話你先全部大略看過一遍 然後連連看 將主架構function找出來 然後用pattern的概念一個一個慢慢推進去讀code小弟曾經跟過大半個專案是用這種方式消化code的 覺得這樣會比較有效率 供你參考你就把讀code當成玩RPG裡在探索未知領域就好
作者: yamakazi (大安吳彥祖)   2020-07-11 17:54:00
VS code是你的好朋友,然後用雙螢幕勝過單螢幕
作者: flysonics (飛音)   2020-07-11 17:58:00
背景知識就沒救了...你去找找看有沒有相關的科普書籍或是相關的行業內會議PPT 知道有哪些topic然後接下來就是找keyword 啃spec這沒有人帶的話 就是需要時間累積 自己慢慢找慢慢撞就算你再天賦異稟也很難速成
作者: yamakazi (大安吳彥祖)   2020-07-11 18:03:00
Debug mode設斷點看call stack
作者: flysonics (飛音)   2020-07-11 18:07:00
還有 如果你是寫韌體的話 自己要有hal層的概念register之類的東西就不要硬下去讀了 這種東西沒有hw出完整spec 你認真在那邊看到死也沒用 不要寫code的人自己沒有那個layer的意識亂寫 你還在那邊傻傻trace老半天讀spec清楚protocol長怎樣就可以了
作者: alihue (wanda wanda)   2020-07-11 18:30:00
debug mode 催下去就是了,別傻傻 print
作者: bb0x0 (bb0x0)   2020-07-11 18:31:00
以人類的惡意去思考會輕鬆點。
作者: lalalalaluk (luk)   2020-07-11 18:40:00
重構 寫測試
作者: yamakazi (大安吳彥祖)   2020-07-11 18:42:00
沒文件就自己寫,我寫過UML其實不好寫
作者: eyb602 (幻忽飄隱)   2020-07-11 18:44:00
沒有程式註解可以看嗎? 那就是前人的問題了
作者: KarlTowns (Karl)   2020-07-11 18:46:00
先了解架構
作者: trink (逸)   2020-07-11 19:12:00
背景知識超級重要,先找人問清楚,背景知識不懂,就無法理解架構為什麼要這樣設計,程式自然看不懂背景知識超級重要,如果不了背景知識,就不會了解架構為什麼要這樣設計,程式自然看不懂
作者: MaryWorkHard (小妹)   2020-07-11 19:48:00
有些可能是workaround,註解也沒寫清楚只能問了,怕常常打擾同事的話,就列下來看一個段落再一起問
作者: littlethree (祥)   2020-07-11 20:05:00
有些code不是單純 if else 沒專業背景看不懂 邏輯看的懂但是 code 看不懂要補專業知識
作者: Smile365Day (微笑)   2020-07-11 20:12:00
多請老鳥喝咖啡,去聊天順便聊code
作者: Kayusumi (Left)   2020-07-11 20:22:00
我之前看前人的CODE居然幹了100多個if else..
作者: xxtuoo (浪費時間不好QQ)   2020-07-11 20:30:00
幾萬行也在哀Zzz
作者: Dracarys (MayShowGunMore)   2020-07-11 20:33:00
Debugger + editor的跳轉定義功能
作者: TS01923141 (ASPROS)   2020-07-11 20:41:00
跑unit test看看回傳什麼
作者: sc1 (sc1)   2020-07-11 20:42:00
在公司待久一點慢慢看懂code下班假日都看就會懂
作者: kenjigan (瞬影)   2020-07-11 20:58:00
20幾年的碼農良心建議,換工作比較好
作者: mrsix (六本六十六)   2020-07-11 21:01:00
總有每週進度報告吧!聽聽同事報的內容聽久了就會有點想法了。另外總有code review吧!
作者: Tawara (77)   2020-07-11 21:05:00
我都付一點錢外包給朋友做 供你參考
作者: abc0922001 (中士abc)   2020-07-11 21:19:00
我都用資料流去看
作者: tttkkk (學到。)   2020-07-11 21:26:00
如何有效率的看code? 就是不要看不相干的地方知道甚麼時候適可而止 並且把重點放在文件上
作者: brightest (fff)   2020-07-11 21:28:00
Debugger step run ?台廠沒啥在寫文件的吧
作者: kentin (小卑鄙)   2020-07-11 22:06:00
真的沒架構文件隨便埋個bt都比較快
作者: cphe (魔鬼藏在垃圾筒裡)   2020-07-11 22:16:00
善用debugger/dump stack/log,有些是一堆multithread等來等去,你天馬星空想像都不如加幾行log看他怎麼跑然後code看久就會越來越快了,就跟看英文書一樣
作者: ho83leo (LWHo)   2020-07-11 23:02:00
韌體的code,才真正要你命,純軟就看你的工具如何有效的使用,觀念很重要。
作者: clamperni (肥宅牛牛)   2020-07-11 23:09:00
看那麼快幹嘛 給老人一點尊重
作者: lovebridget (= =")   2020-07-11 23:11:00
問人或看文件 不可能真的去看整個code是已知錯在那行 才去看
作者: GGing (小軒軒)   2020-07-11 23:19:00
如果架構文件有隨著 code 更新而更新那還好,有些人只會一直改 code 不改文件,結果兩邊對不起來看了更慘...
作者: labbat (labbat)   2020-07-11 23:30:00
不要寫架構文件,專心寫code 不要研究code,專心寫code
作者: wugesmin (我是一隻魚)   2020-07-11 23:51:00
都做 一年多了才提背景知識不熟也怪怪的如果是功能開發,簡單的錄影回放用 3rd party 2天內搞定如果是 maintain&debug 就直接從公司既有的 API 下手
作者: m8403051 (大吉嶺紅茶)   2020-07-12 01:08:00
看看臨兵桌上有甚麼不是程式語言的書, 借來看看
作者: ColdLander (寒地者)   2020-07-12 02:39:00
用source insight 一邊trace code 一邊補齊所缺的知識
作者: Litfal (Litfal)   2020-07-12 03:08:00
問有沒有架構圖+找前輩帶你順一次架構
作者: mathrew (Joey)   2020-07-12 07:32:00
debug mode 下去吧,你光用看的,根本很難看的懂
作者: overhead (overhead)   2020-07-12 07:59:00
跑起來debug mode開下去。先問主架構是哪條,跳過不重要的扣。扣第一次不用每行看懂,領略function意思就好。一邊trace一邊畫架構圖。
作者: markkao456 (MarvinKao)   2020-07-12 10:11:00
要看懂這篇推文從零開始,我下一本要看的書名
作者: tnfshjcc (↖煞气a攜阿攜↘)   2020-07-12 10:57:00
個人偏好IntelliJ > VScode
作者: theurgy   2020-07-12 11:37:00
背景知識是像影片編碼解碼之類的嗎?如果不是那邊有bug或是必須要自己農就不用急著看 慢慢補
作者: Shepherd1987 (夜之彼方)   2020-07-12 12:12:00
先睡飽
作者: a5180352 (ZR)   2020-07-12 12:46:00
推文 IDE 比 editor 是什麼概念
作者: MonkeyCL (猴總召)   2020-07-12 12:51:00
變性
作者: ptlove1222 (濕濕感冒嬌男)   2020-07-12 13:35:00
這板真不乏死愛面子逞口快的台男XDDD
作者: gilingking (精靈遊俠)   2020-07-12 16:24:00
你應該先對程式有瞭解 還要去分析程式架構 不是一昧的看所有的程式碼吧
作者: sc1 (sc1)   2020-07-12 19:52:00
ctrl+f google是你的左右手
作者: rock2345 (Kiri)   2020-07-12 23:47:00
沒架構只好自己畫圖拼出架構來
作者: kingofsdtw (不能閒下來!!)   2020-07-13 01:31:00
其中的讀取某個時間點的影像嫩咖才用ide,高手都用vi
作者: ch30529 (主人)   2020-07-15 02:08:00
先推給別人,讓別人去釐清

Links booklink

Contact Us: admin [ a t ] ucptt.com