[請益] 菜鳥維護

看板Soft_Job作者 (wplace)時間9年前 (2014/08/25 20:49), 編輯推噓8(8020)
留言28則, 11人參與, 最新討論串1/3 (看更多)
想請問一下,因為剛進這個行業幾個月 所以一開始,就是看前輩之前寫的專案 並維護一個小程式,一直有一個問題困擾著我 小程式還好,幾千行的code,慢慢的就消化完了 其餘的時間就在閱讀前輩之前寫的一個專案 但是這個專案對我來說非常龐大,有上萬行之多 因為這是他之前寫的,所以已經沒再用了,拿來給我閱讀 畢竟新的專案是從這個演化過來的,多多少少有幫助 因為頭一次遇到這麼多行的程式碼,所以我都從程式開始的地方 一行一行的看,想請問我這樣閱讀code是正確的嗎? 因為感覺真的很沒效率,有時候因為太多了,看到後面 中間如果有其他事(譬如:被叫去寫一個小程式,或改改我維護程式的Bug) ,回來之後之前看得又有點忘記了,有要重新費一番功夫去理解 所以想請問新人要怎麼閱讀前輩的程式碼呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.159.162.71 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1408970958.A.9E4.html

08/25 20:52, , 1F
先看大略看一次架構,再看功能,再看功能如何實踐,由小入
08/25 20:52, 1F

08/25 20:52, , 2F
大會很吃力
08/25 20:52, 2F

08/25 20:53, , 3F
這是我個人看程式碼的方式
08/25 20:53, 3F

08/25 20:56, , 4F
先知道這個系統在做什麼,每個環節都是跟業務流程相扣
08/25 20:56, 4F

08/25 21:29, , 5F
先看架構理清甚麼大概會放在那, 再按Input-Process-
08/25 21:29, 5F

08/25 21:30, , 6F
Output的脈絡看數據在怎樣傳遞. 一般就這樣的感覺.
08/25 21:30, 6F

08/25 21:40, , 7F
先用看看這東西到底幹麻用的 從功能往下猜
08/25 21:40, 7F

08/25 21:56, , 8F
一個功能一個功能看~先了解該功能用途~再看code~
08/25 21:56, 8F

08/25 22:45, , 9F
還可以新舊code比對,可以更深刻領會程式為什麼這樣設計
08/25 22:45, 9F

08/25 22:57, , 10F
看他之前的架構寫得怎麼樣囉~寫得好的話~應該可以從大方
08/25 22:57, 10F

08/25 22:59, , 11F
向開始往下分~慢慢由大而小地看~寫不好就...
08/25 22:59, 11F

08/25 23:34, , 12F
先看做什麼事>功能面>流程面>最後才看CODE
08/25 23:34, 12F

08/25 23:34, , 13F
就算不看CODE也沒差,反正你知道後可以寫的比他好
08/25 23:34, 13F

08/26 00:05, , 14F
寫得好的code你應該看得懂 也可以從看code知道
08/26 00:05, 14F

08/26 00:05, , 15F
程式跑起來大概會怎樣
08/26 00:05, 15F

08/26 00:06, , 16F
看舊的..到不如看新的..
08/26 00:06, 16F

08/26 08:04, , 17F
Btw, 已經沒在用的程式碼還拿給你就是想你學coding的
08/26 08:04, 17F

08/26 08:05, , 18F
風格啊, 否則直接拿設計文件來看不是更有效率?
08/26 08:05, 18F

08/26 08:06, , 19F
別說不用看code那樣的話了.
08/26 08:06, 19F

08/26 22:08, , 20F
依樣畫葫蘆,實作小改程式幾次,不用多久就會了
08/26 22:08, 20F

08/26 23:05, , 21F
拆解別人的作品是種感覺,拆久了再大的很快都可以拆解掉
08/26 23:05, 21F

08/26 23:05, , 22F
如果程式裡沒有足夠的註解,我會建議你先從加註解開始
08/26 23:05, 22F

08/26 23:08, , 23F
然後找到程式的Output點往回推,因為通常Output的定義
08/26 23:08, 23F

08/26 23:09, , 24F
都會比Input來的明確很多,從Input從下找我的經驗是不行
08/26 23:09, 24F

08/26 23:11, , 25F
分析出第一串流程後,就開始動手改變流程變數觀察變化
08/26 23:11, 25F

08/26 23:13, , 26F
最後把程式還原回原狀,包含已加的新註解都拿掉
08/26 23:13, 26F

08/26 23:15, , 27F
依照原程式的風格,修改需求,免得challenge到原作者
08/26 23:15, 27F

08/26 23:16, , 28F
天知道那個前輩是誰,說不定正是你的主管
08/26 23:16, 28F
文章代碼(AID): #1J-p3Eda (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1J-p3Eda (Soft_Job)