[討論] 維護前輩or離職人員寫的程式??

看板Soft_Job (軟體人)作者 (XDDD)時間13年前 (2013/04/27 14:15), 編輯推噓13(13051)
留言64則, 23人參與, 最新討論串1/2 (看更多)
我還在新人的時候,那時候主管把一支程式丟給我維護 後來沒多久那位學長就離職了,之後很努力的花了3個月 才慢慢看懂這支程式也加了一些功能和修改一些BUG 但是那段時間因為能力不如主管預期(一個月就要完全了解) 所以那段時間常常被唸甚至完全的黑掉。 最近剛好朋友也遇到這種情況,又勾起我的疑問!! 想請問各位前輩通常都怎麼維護別人寫的程式,一行一行研究嗎? 還是先把程式流程了解再從每個FUNCTION去深入擊破 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.110.52

04/27 14:34, , 1F
當然是要先瞭解流程..
04/27 14:34, 1F

04/27 14:42, , 2F
一行一行看要有強大的想像力XD
04/27 14:42, 2F

04/27 14:57, , 3F
domain跟技術兩個都要到位啦,domain只能問其他人或user
04/27 14:57, 3F

04/27 14:57, , 4F
要學習如何看別人的程式
04/27 14:57, 4F

04/27 14:57, , 5F
技術則是重構的技巧跟概念
04/27 14:57, 5F

04/27 14:58, , 6F
我認為看懂別人寫的程式是程式設計師自學能力的一種
04/27 14:58, 6F

04/27 14:59, , 7F
看多了,就會知道如何去看程式的架構,只能說要多看
04/27 14:59, 7F

04/27 15:14, , 8F
如果遇到對方程式寫得很亂又沒註解, 那....
04/27 15:14, 8F

04/27 15:18, , 9F
我看程式都是用猜的欸 哈哈哈 猜變數猜函數在做啥
04/27 15:18, 9F

04/27 16:07, , 10F
當然不是一行一行研究~如果你看的都是special case咧?而且
04/27 16:07, 10F

04/27 16:09, , 11F
這樣追太沒效率了...
04/27 16:09, 11F

04/27 16:11, , 12F
什麼都沒有一個月要完全了解 很難吧= =
04/27 16:11, 12F

04/27 16:12, , 13F
亂中總會有序~先都看個大概~單純功能面就好~有需要再深入
04/27 16:12, 13F

04/27 16:21, , 14F
快速瀏覽,東西太多的話就只能跳著看,快速抓概要
04/27 16:21, 14F

04/27 16:23, , 15F
不急的話,慢慢摸鬍子慢慢看,看懂了要改就很快....
04/27 16:23, 15F

04/27 16:26, , 16F
我公司老鳥寫的程式變數名稱都是a b c d 耶XD~
04/27 16:26, 16F

04/27 16:27, , 17F
資料庫欄位名稱都是1 2 3 4 5....
04/27 16:27, 17F

04/27 16:27, , 18F
而且不能砍掉重寫,主管不同意= =...他說這樣是保護自己...
04/27 16:27, 18F

04/27 16:27, , 19F
他認可這種行為= =a
04/27 16:27, 19F

04/27 17:26, , 20F
樓上,塊陶啊
04/27 17:26, 20F

04/27 17:35, , 21F
主管只管能動 哪會理你那麼多 接那種案子還是陶吧
04/27 17:35, 21F

04/27 18:25, , 22F
先看框架, 一行一行看, 要看到甚麼時候
04/27 18:25, 22F

04/27 18:39, , 23F
這陣子看了N年前的某系統 用dreamweaver拉程式的
04/27 18:39, 23F

04/27 18:39, , 24F
有夠難維護 而且SQL指令一直left join left join & left
04/27 18:39, 24F

04/27 18:39, , 25F
join ....
04/27 18:39, 25F

04/27 18:41, , 26F
不過也不能怪那個人 因為他本來做美工 硬被拉去寫程式...
04/27 18:41, 26F

04/27 18:41, , 27F
只是覺得那寫法很爛效能很差 偏偏又死不了
04/27 18:41, 27F

04/27 18:42, , 28F
手邊同樣看過美術轉程式寫的code...標準的可以跑...
04/27 18:42, 28F

04/27 18:43, , 29F
但是完全不知道流程怎麼兜起來的...
04/27 18:43, 29F

04/27 18:43, , 30F
變數命名不提...大概7成以上都是special case...
04/27 18:43, 30F

04/27 18:44, , 31F
我才知道...這款的也可以在外面接案...還有上百個作品.
04/27 18:44, 31F

04/27 18:45, , 32F
不過跟他出去談過案子..就知道他只求接案不重視結案了.
04/27 18:45, 32F

04/27 20:29, , 33F
公司前輩程式寫很快,一個案件大概只須我一半的時間,
04/27 20:29, 33F

04/27 20:31, , 34F
只要求能動就好,但就是會有一些bug,網路上的code一股腦
04/27 20:31, 34F

04/27 20:33, , 35F
全貼上去,連人家demo頁不必要的東西都一起貼上,用一堆
04/27 20:33, 35F

04/27 20:37, , 36F
被廢棄的語法,老是在用table,拚出來的東西很噁心,
04/27 20:37, 36F

04/27 20:42, , 37F
我比較資淺不好意思說,也怕被認為是吹毛求疵,很不喜歡
04/27 20:42, 37F

04/27 20:42, , 38F
改他寫的code。y
04/27 20:42, 38F

04/27 21:58, , 39F
樓上 table 是指datatable ?
04/27 21:58, 39F

04/27 22:10, , 40F
是html的table
04/27 22:10, 40F

04/27 22:44, , 41F
我不太理解說都用table拼出的東西噁心是什麼意思,但想問問
04/27 22:44, 41F

04/27 22:44, , 42F
貴公司的需求是以網頁好用為目標還是以碼不噁心為目標?
04/27 22:44, 42F

04/28 00:52, , 43F
應該是試著用debugger跑一遍 看看他流程是如何進行的
04/28 00:52, 43F

04/28 00:53, , 44F
你一行一行看 很難準確知道function/parameter的確切功用
04/28 00:53, 44F

04/28 00:56, , 45F
通常接手別人程式 會先請他跑一次 流程有問題趁這時候趕快問
04/28 00:56, 45F

04/28 01:25, , 46F
如果算是大系統的話,基本上要先了解流程再看code。
04/28 01:25, 46F

04/28 01:27, , 47F
不過應該會有一些文件可以看吧,通常是都很厚拉!
04/28 01:27, 47F

04/28 03:13, , 48F
有文件可以看的都算簡單的啦XD~ 沒文件看才慘= =
04/28 03:13, 48F

04/28 03:13, , 49F
我現在在上市公司,都沒文件可以看了= =...
04/28 03:13, 49F

04/28 09:44, , 50F
解架構是技術議題,是次要的;首要要做的是先跟主管打預防針,
04/28 09:44, 50F

04/28 09:45, , 51F
先表明你的立場是[接生但不包生]
04/28 09:45, 51F

04/28 09:45, , 52F
通常接的時候 寫的人都不見了 沒得問...
04/28 09:45, 52F

04/28 09:49, , 53F
另外,別人的程式未必就比你寫的好,有的根本就是問題一堆; 這
04/28 09:49, 53F

04/28 09:50, , 54F
些由你來概括承受你願意? 基於自我保護的邏輯, 有比較極端的
04/28 09:50, 54F

04/28 09:50, , 55F
做法就是先將前任批得體無完膚, 然後再重新打造
04/28 09:50, 55F

04/28 09:52, , 56F
總之, 怎麼處理就看著辦啦, 但不要讓自己背莫名的黑鍋就對了
04/28 09:52, 56F

04/28 10:33, , 57F
我們主管只給我一個禮拜..然後就出差去客戶那了..Orz
04/28 10:33, 57F

04/28 19:34, , 58F
我接手別人的專案時,也大都只有Code,沒有文件與說明
04/28 19:34, 58F

04/28 19:37, , 59F
就算有文件,有程式註解,也不能保認它是正確的
04/28 19:37, 59F

04/28 21:58, , 60F
往往有種情況,程式是最新版,文件不是最新版
04/28 21:58, 60F

04/29 01:32, , 61F
這樣我想起一張code review的圖
04/29 01:32, 61F

04/29 01:32, , 62F
04/29 01:32, 62F

04/29 02:31, , 63F
XD
04/29 02:31, 63F

04/29 15:00, , 64F
遇到個太閒 沒事就給你寫個十幾階的天才...不黑都難...
04/29 15:00, 64F
文章代碼(AID): #1HUsq7zG (Soft_Job)
文章代碼(AID): #1HUsq7zG (Soft_Job)