Re: [請益] 如何沉住氣讀別人的 code

看板Soft_Job作者 (PCMan)時間6年前 (2018/01/12 22:44), 6年前編輯推噓111(111011)
留言122則, 117人參與, 5年前最新討論串5/7 (看更多)
※ 引述《p52189 (鼠霸)》之銘言: : 如題……原始碼不長 : 但撰碼習慣跟我完全不同 : 到現在我也還沒找到規則 : 以至於想改一小部分都因為不知道規則而必須幾乎全部爬一遍才改得動 : 每次讀都很難沉住氣一下就很煩躁不想做了 : 一直這樣很像也不是辦法 : 請問大家有什麼方法可以坐得住嗎= = : 謝謝…… : ----- : Sent from JPTT on my HTC_M9u. 好久沒上 BBS,來分享一下一些看 code 心得 1. 不要排斥使用圖形界面 IDE: 雖然熟練操作各種 editor 一直打指令真的很帥,IDE 有些功能真的非常好用 在 function 名稱上點一下自動跳到 code, 變數名稱點一下可以跳到在哪 define 寫錯語法還會幫你劃線,點一下又可以跳回剛看一半的地方,看 code 會快滿多。 有些還可以幫你快速找出所有 Usage + 批次改名,效率很好。 2. 用 grep 找到進入點開始 trace,例如搜尋 web service 的 endpoint 名稱 找 UI 上有的字串,或是以設定值的名稱去找,看是哪段 code 讀那個設定 這可以幫助你快速找到相關 code 在哪些檔案。 3. Trace code 一邊看一邊作筆記 從進入的 function 開始,把整個 call stack 每一層筆記下來,包括檔名 和函數名稱,並且 summary 你初步了解裡面做了什麼。 這個非常有用,不然深入幾層之後,很快就迷路了 4. 邊讀邊補註解,順手 rename 一些取不好的變數名稱 每看懂幾行,就幫他補一些註解,幫助自己也幫助後人 5. 使用 static code analyze 的工具,找出沒在用的 code 和 file, 然後全部刪掉!!! 對一個陳年專案來說,你會很驚訝有多少是沒用的 code 6. 邊看邊 refactor,把太長的 function 拆小 假設不是 public method 還可以順便改名,讓他比較 readable 註: 如網友補充,在某些大公司,隨便 refactor 不相關的部份是被禁止的, 畢竟這樣會造成 QA 測試需要重做,code review 需要重做,也會影響合作 開發的隊友,實際工作上我自己帶的團隊,我也是不建議 team member 隨意 refactor 在開發計畫以外的部份。但有時候新創公司經歷了快速成長期, 你需要把一些 prototype 做成真正 production 品質的產品,那這樣就很合適。 7. 多參加 open source 專案,久了就會習慣看來自各國的各種 code 8. 多買一個螢幕,一邊開文件一邊開 code,看起來也會比較快 一些小心得分享,希望有幫助 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.49.213 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1515768272.A.392.html ※ 編輯: HZYSoft (114.24.49.213), 01/12/2018 22:46:41

01/12 23:03, 6年前 , 1F
\首推 Pcman/
01/12 23:03, 1F

01/12 23:05, 6年前 , 2F
pcman 快 update 修好短網址功能好嗎?
01/12 23:05, 2F

01/12 23:05, 6年前 , 3F
推起來!
01/12 23:05, 3F

01/12 23:06, 6年前 , 4F
pcman ! pcman
01/12 23:06, 4F

01/12 23:18, 6年前 , 5F
推!
01/12 23:18, 5F

01/12 23:37, 6年前 , 6F
有神快拜
01/12 23:37, 6F

01/12 23:45, 6年前 , 7F
樓下酸中英夾雜
01/12 23:45, 7F

01/12 23:48, 6年前 , 8F
01/12 23:48, 8F

01/13 00:59, 6年前 , 9F
pcman大大,新酷音可以再持續update嗎?
01/13 00:59, 9F

01/13 01:00, 6年前 , 10F
01/13 01:00, 10F

01/13 01:20, 6年前 , 11F
跪著推文
01/13 01:20, 11F

01/13 01:27, 6年前 , 12F
跪了,是pcman!!
01/13 01:27, 12F

01/13 01:27, 6年前 , 13F
推PCMAN
01/13 01:27, 13F

01/13 01:39, 6年前 , 14F
推 PCMan !!!!!!
01/13 01:39, 14F

01/13 02:20, 6年前 , 15F
推推是你
01/13 02:20, 15F

01/13 02:56, 6年前 , 16F
我跪了
01/13 02:56, 16F

01/13 04:01, 6年前 , 17F
只能推了
01/13 04:01, 17F

01/13 04:19, 6年前 , 18F
有神已跪
01/13 04:19, 18F

01/13 05:21, 6年前 , 19F
推!!!
01/13 05:21, 19F

01/13 06:39, 6年前 , 20F
<(_ _)>!!
01/13 06:39, 20F

01/13 08:19, 6年前 , 21F
01/13 08:19, 21F

01/13 08:19, 6年前 , 22F
01/13 08:19, 22F

01/13 08:28, 6年前 , 23F
yo, PCMan
01/13 08:28, 23F

01/13 08:32, 6年前 , 24F
娘子快來,有神快拜
01/13 08:32, 24F

01/13 09:01, 6年前 , 25F
媽,我在這 (@o@)/
01/13 09:01, 25F

01/13 09:06, 6年前 , 26F
朝聖推!!
01/13 09:06, 26F

01/13 09:17, 6年前 , 27F
01/13 09:17, 27F

01/13 09:17, 6年前 , 28F
Mac上的雅虎鍵盤有人在維護嗎
01/13 09:17, 28F

01/13 09:37, 6年前 , 29F
路過推
01/13 09:37, 29F

01/13 09:46, 6年前 , 30F
01/13 09:46, 30F

01/13 10:56, 6年前 , 31F
01/13 10:56, 31F

01/13 11:22, 6年前 , 32F
可以在這裡回報PCMAN使用上的問題嗎?
01/13 11:22, 32F

01/13 11:22, 6年前 , 33F
01/13 11:22, 33F

01/13 11:24, 6年前 , 34F
剛換筆電Nitro5 發現九宮格的PgDn無法使用
01/13 11:24, 34F

01/13 11:25, 6年前 , 35F
Home End PgUp 皆正常 也確認該鍵在其他狀況下可正常操作
01/13 11:25, 35F

01/13 11:52, 6年前 , 36F
邊看code邊喝酒邊聽歌 不知不覺 又過一天
01/13 11:52, 36F

01/13 11:55, 6年前 , 37F
01/13 11:55, 37F

01/13 12:32, 6年前 , 38F
有神快拜
01/13 12:32, 38F

01/13 12:43, 6年前 , 39F
01/13 12:43, 39F
還有 43 則推文
還有 1 段內文
01/14 16:34, 6年前 , 83F
可以推薦IDE軟體嗎 我只會用source insight
01/14 16:34, 83F

01/14 18:13, 6年前 , 84F
朝聖推!!
01/14 18:13, 84F

01/14 19:24, 6年前 , 85F
推推
01/14 19:24, 85F

01/14 20:07, 6年前 , 86F
01/14 20:07, 86F

01/14 22:18, 6年前 , 87F
<(_ _)>
01/14 22:18, 87F

01/14 22:33, 6年前 , 88F
感謝分享
01/14 22:33, 88F

01/14 23:29, 6年前 , 89F
slickedit 還可以
01/14 23:29, 89F

01/15 03:45, 6年前 , 90F
PgDn問題解決了
01/15 03:45, 90F

01/15 10:17, 6年前 , 91F
sourceinsight就很夠了吧
01/15 10:17, 91F

01/15 10:56, 6年前 , 92F
我都用cscope + ctags
01/15 10:56, 92F

01/15 11:29, 6年前 , 93F
朝聖
01/15 11:29, 93F

01/15 11:57, 6年前 , 94F
朝聖
01/15 11:57, 94F

01/15 15:49, 6年前 , 95F
推!
01/15 15:49, 95F

01/15 20:52, 6年前 , 96F
okay
01/15 20:52, 96F

01/15 21:52, 6年前 , 97F
推推
01/15 21:52, 97F

01/16 09:46, 6年前 , 98F
朝聖
01/16 09:46, 98F

01/16 12:03, 6年前 , 99F
朝聖推
01/16 12:03, 99F

01/17 01:10, 6年前 , 100F
朝聖
01/17 01:10, 100F

01/17 03:11, 6年前 , 101F
01/17 03:11, 101F

01/17 09:36, 6年前 , 102F
Atom 有沒有1的功能?
01/17 09:36, 102F

01/17 11:00, 6年前 , 103F
朝聖推
01/17 11:00, 103F

01/17 11:34, 6年前 , 104F
01/17 11:34, 104F

01/17 11:45, 6年前 , 105F
我想請教筆記該如何做?是要寫註解,還是另外寫在紙上或
01/17 11:45, 105F

01/17 11:45, 6年前 , 106F
文書軟體上,我實在不太會做筆記的方式說...
01/17 11:45, 106F

01/17 13:08, 6年前 , 107F
推神獸XD
01/17 13:08, 107F

01/17 14:26, 6年前 , 108F
朝聖~
01/17 14:26, 108F

01/17 22:10, 6年前 , 109F
01/17 22:10, 109F

01/18 02:26, 6年前 , 110F
推!
01/18 02:26, 110F

01/18 17:34, 6年前 , 111F
喔喔喔喔喔喔!!!!!!!!!!!
01/18 17:34, 111F

01/18 20:29, 6年前 , 112F
朝聖
01/18 20:29, 112F

01/19 14:02, 6年前 , 113F
01/19 14:02, 113F

01/19 19:28, 6年前 , 114F
新酷音好好用啊
01/19 19:28, 114F

01/19 20:34, 6年前 , 115F
pcman大神推!
01/19 20:34, 115F

01/20 00:24, 6年前 , 116F
pcman必推
01/20 00:24, 116F

01/21 00:42, 6年前 , 117F
推pcman
01/21 00:42, 117F

01/24 22:38, 6年前 , 118F
01/24 22:38, 118F

01/27 09:22, 6年前 , 119F
神串留名
01/27 09:22, 119F

01/29 14:21, 6年前 , 120F
推推
01/29 14:21, 120F

01/29 23:51, 6年前 , 121F
01/29 23:51, 121F

09/27 21:36, 5年前 , 122F
用PCMAN看PCMAN開暱名是PCMAN的帳號上來PO文被版眾推PCMAN
09/27 21:36, 122F
文章代碼(AID): #1QMCdGEI (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1QMCdGEI (Soft_Job)