看板 Soft_Job 關於我們 聯絡資訊
我還在新人的時候,那時候主管把一支程式丟給我維護 後來沒多久那位學長就離職了,之後很努力的花了3個月 才慢慢看懂這支程式也加了一些功能和修改一些BUG 但是那段時間因為能力不如主管預期(一個月就要完全了解) 所以那段時間常常被唸甚至完全的黑掉。 最近剛好朋友也遇到這種情況,又勾起我的疑問!! 想請問各位前輩通常都怎麼維護別人寫的程式,一行一行研究嗎? 還是先把程式流程了解再從每個FUNCTION去深入擊破 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.110.52
AV5566:當然是要先瞭解流程.. 04/27 14:34
boyen3:一行一行看要有強大的想像力XD 04/27 14:42
landlord:domain跟技術兩個都要到位啦,domain只能問其他人或user 04/27 14:57
astt88:要學習如何看別人的程式 04/27 14:57
landlord:技術則是重構的技巧跟概念 04/27 14:57
astt88:我認為看懂別人寫的程式是程式設計師自學能力的一種 04/27 14:58
astt88:看多了,就會知道如何去看程式的架構,只能說要多看 04/27 14:59
jodo1984:如果遇到對方程式寫得很亂又沒註解, 那.... 04/27 15:14
izuk:我看程式都是用猜的欸 哈哈哈 猜變數猜函數在做啥 04/27 15:18
andymai:當然不是一行一行研究~如果你看的都是special case咧?而且 04/27 16:07
andymai:這樣追太沒效率了... 04/27 16:09
f1234518456:什麼都沒有一個月要完全了解 很難吧= = 04/27 16:11
andymai:亂中總會有序~先都看個大概~單純功能面就好~有需要再深入 04/27 16:12
prag222:快速瀏覽,東西太多的話就只能跳著看,快速抓概要 04/27 16:21
prag222:不急的話,慢慢摸鬍子慢慢看,看懂了要改就很快.... 04/27 16:23
hanbz:我公司老鳥寫的程式變數名稱都是a b c d 耶XD~ 04/27 16:26
hanbz:資料庫欄位名稱都是1 2 3 4 5.... 04/27 16:27
hanbz:而且不能砍掉重寫,主管不同意= =...他說這樣是保護自己... 04/27 16:27
hanbz:他認可這種行為= =a 04/27 16:27
qrtt1:樓上,塊陶啊 04/27 17:26
f1234518456:主管只管能動 哪會理你那麼多 接那種案子還是陶吧 04/27 17:35
mathrew:先看框架, 一行一行看, 要看到甚麼時候 04/27 18:25
cyr1216:這陣子看了N年前的某系統 用dreamweaver拉程式的 04/27 18:39
cyr1216:有夠難維護 而且SQL指令一直left join left join & left 04/27 18:39
cyr1216:join .... 04/27 18:39
cyr1216:不過也不能怪那個人 因為他本來做美工 硬被拉去寫程式... 04/27 18:41
cyr1216:只是覺得那寫法很爛效能很差 偏偏又死不了 04/27 18:41
chengchieh:手邊同樣看過美術轉程式寫的code...標準的可以跑... 04/27 18:42
chengchieh:但是完全不知道流程怎麼兜起來的... 04/27 18:43
chengchieh:變數命名不提...大概7成以上都是special case... 04/27 18:43
chengchieh:我才知道...這款的也可以在外面接案...還有上百個作品. 04/27 18:44
chengchieh:不過跟他出去談過案子..就知道他只求接案不重視結案了. 04/27 18:45
On1earth:公司前輩程式寫很快,一個案件大概只須我一半的時間, 04/27 20:29
On1earth:只要求能動就好,但就是會有一些bug,網路上的code一股腦 04/27 20:31
On1earth:全貼上去,連人家demo頁不必要的東西都一起貼上,用一堆 04/27 20:33
On1earth:被廢棄的語法,老是在用table,拚出來的東西很噁心, 04/27 20:37
On1earth:我比較資淺不好意思說,也怕被認為是吹毛求疵,很不喜歡 04/27 20:42
On1earth:改他寫的code。y 04/27 20:42
MacPerson:樓上 table 是指datatable ? 04/27 21:58
On1earth:是html的table 04/27 22:10
yauhh:我不太理解說都用table拼出的東西噁心是什麼意思,但想問問 04/27 22:44
yauhh:貴公司的需求是以網頁好用為目標還是以碼不噁心為目標? 04/27 22:44
WSzc:應該是試著用debugger跑一遍 看看他流程是如何進行的 04/28 00:52
WSzc:你一行一行看 很難準確知道function/parameter的確切功用 04/28 00:53
WSzc:通常接手別人程式 會先請他跑一次 流程有問題趁這時候趕快問 04/28 00:56
byebye0714:如果算是大系統的話,基本上要先了解流程再看code。 04/28 01:25
byebye0714:不過應該會有一些文件可以看吧,通常是都很厚拉! 04/28 01:27
hanbz:有文件可以看的都算簡單的啦XD~ 沒文件看才慘= = 04/28 03:13
hanbz:我現在在上市公司,都沒文件可以看了= =... 04/28 03:13
bobju:解架構是技術議題,是次要的;首要要做的是先跟主管打預防針, 04/28 09:44
bobju:先表明你的立場是[接生但不包生] 04/28 09:45
f1234518456:通常接的時候 寫的人都不見了 沒得問... 04/28 09:45
bobju:另外,別人的程式未必就比你寫的好,有的根本就是問題一堆; 這 04/28 09:49
bobju:些由你來概括承受你願意? 基於自我保護的邏輯, 有比較極端的 04/28 09:50
bobju:做法就是先將前任批得體無完膚, 然後再重新打造 04/28 09:50
bobju:總之, 怎麼處理就看著辦啦, 但不要讓自己背莫名的黑鍋就對了 04/28 09:52
fonz:我們主管只給我一個禮拜..然後就出差去客戶那了..Orz 04/28 10:33
astt88:我接手別人的專案時,也大都只有Code,沒有文件與說明 04/28 19:34
astt88:就算有文件,有程式註解,也不能保認它是正確的 04/28 19:37
astt88:往往有種情況,程式是最新版,文件不是最新版 04/28 21:58
chucheng:這樣我想起一張code review的圖 04/29 01:32
chucheng:http://bit.ly/cHKM7t 04/29 01:32
bobju:XD 04/29 02:31
pooznn:遇到個太閒 沒事就給你寫個十幾階的天才...不黑都難... 04/29 15:00