看板 Soft_Job作者 a88241050 (再回頭已是百殘身)標題 [請益] 請問要怎麼改老舊的程式碼?時間 Sat Mar 3 16:00:38 2018
最近在做一個銀行的專案
要把上百個10幾年前的C++程式改用java寫
但看了很久還是不知道該怎麼下手
程式碼上百行甚至上千行都有
而且裡面會用到很多struct或class變數
某些struct又包含了10幾個struct
而這些變數都是定義在其他的標頭檔裡
然後每個標頭檔除了struct和class之外
還包含一堆#ifdef,#else,#endif
簡直看得眼花撩亂
真的不知道為什麼可以寫得那麼複雜...
因為我對C++不是很熟
所以不知道裡面的很多寫法改成java應該怎麼做
有人能建議我應該怎麼下手嗎?
3Q
https://i.imgur.com/3gwV0fm.jpg
https://i.imgur.com/Q5QxcBE.jpg
https://i.imgur.com/TRGPuf3.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.185.165
※ 文章代碼(AID): #1QcbOfg4 (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1520064041.A.A84.html
→ remmurds: 如果原始需求是啥都沒人知道是要怎麼寫測試2F 03/03 16:14
→ dreamnook: 資料流 邏輯流 或是純粹找前輩問商業邏輯整個重構3F 03/03 16:18
我只是為了看code而已,用dev-c++就夠用啦
→ sojoasd: 如果知道100%原來邏輯,再從這些邏輯先寫單元測試,再依照頁面上的操作取得需要的函式組成Controller........如果原來邏輯不清楚,需要用原程式去猜測的話,你還是塊陶吧6F 03/03 16:36
推 abccbaandy: 能知道原始邏輯原PO大概也不會上來問吧XD10F 03/03 17:10
→ erspicu: 不用重寫了拉...看功能用途整個重新設計比較快....
風格差異太大 語法改寫很僵硬 乾卻重新規畫好11F 03/03 17:13
→ testPtt: 要用IDE看阿 macro沒作用的比較好辨識13F 03/03 17:19
→ blueminor: 之前我們公司做過類似的,但是是把VB換java。工程非常浩大14F 03/03 17:20
→ pttworld: 先想辦法生個source insight,目前這樣太痛苦17F 03/03 17:35
推 noenemy: 先問主管有多少時間,如果只有一個月,只能重新設計18F 03/03 18:16
→ ChungLi5566: 通常都談提升案重寫吧 舊程式一堆bug修修補補
看不懂正常的19F 03/03 19:18
推 kckckckc: 跟業主說我看這個架構根本太糟了 我幫你新寫一個 不多收21F 03/03 22:06
推 MBRSL: Working Effectively with Legacy Code22F 03/04 00:11
→ alog: 做這個僅能重新設計,但是最慘的是分析規則、流程你大概會瘋掉而且公司可以給你做前置作業的時間應該不會太長,更可怕的是裡面應該會是那種將錯就錯結果卻對了,以及新系統上線舊系統的資料轉移處理跟測試
時間可能比預期的久或是有客戶的客戶反應有資料錯,用戶多這個部分的處理成本就會相當可怕
看到這個,僅能祝你跟公司好運 (笑23F 03/04 04:50
推 MNPGG: 推用source insight30F 03/04 07:18
推 oneheat: 學android 外面包一層jni 就不會改到原本的了31F 03/04 09:58
推 becca945: 10年後沒什麼人用的dev c++ ˊ_ˋ32F 03/04 11:15
推 vi000246: 外面再包一層把醜程式碼藏起來 至於重構嘛....
只好交給下一位同事了33F 03/04 11:44
※ 編輯: a88241050 (36.224.168.181), 03/04/2018 12:41:04
推 alex0914: 雖然看起來只有引入部分,但公布程式碼不太好吧35F 03/04 17:22
推 cobrasgo: 你有問過要改成java的原因嗎?說不定根本不用動原本的code,用java寫個wrapper呼叫就可以了36F 03/04 19:36
--