[請益] 請問要怎麼改老舊的程式碼?消失

看板Soft_Job作者時間7年前 (2018/03/03 16:00), 7年前編輯推噓11(11028)
留言39則, 24人參與, 最新討論串1/2 (看更多)
最近在做一個銀行的專案 要把上百個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 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1520064041.A.A84.html

03/03 16:02, , 1F
寫測試
03/03 16:02, 1F

03/03 16:14, , 2F
如果原始需求是啥都沒人知道是要怎麼寫測試
03/03 16:14, 2F

03/03 16:18, , 3F
資料流 邏輯流 或是純粹找前輩問商業邏輯整個重構
03/03 16:18, 3F

03/03 16:19, , 4F
八掛是真的有人在用dev c++
03/03 16:19, 4F
我只是為了看code而已,用dev-c++就夠用啦

03/03 16:20, , 5F
大概是學生(大誤
03/03 16:20, 5F

03/03 16:36, , 6F
如果知道100%原來邏輯,再從這些邏輯先寫單元測試,再依
03/03 16:36, 6F

03/03 16:36, , 7F
照頁面上的操作取得需要的函式組成Controller........如
03/03 16:36, 7F

03/03 16:36, , 8F
果原來邏輯不清楚,需要用原程式去猜測的話,你還是塊陶
03/03 16:36, 8F

03/03 16:36, , 9F
03/03 16:36, 9F

03/03 17:10, , 10F
能知道原始邏輯原PO大概也不會上來問吧XD
03/03 17:10, 10F

03/03 17:13, , 11F
不用重寫了拉...看功能用途整個重新設計比較快....
03/03 17:13, 11F

03/03 17:14, , 12F
風格差異太大 語法改寫很僵硬 乾卻重新規畫好
03/03 17:14, 12F

03/03 17:19, , 13F
要用IDE看阿 macro沒作用的比較好辨識
03/03 17:19, 13F

03/03 17:20, , 14F
之前我們公司做過類似的,但是是把VB換java。工程非常
03/03 17:20, 14F

03/03 17:20, , 15F
浩大
03/03 17:20, 15F

03/03 17:30, , 16F
乾脆重頭開發
03/03 17:30, 16F

03/03 17:35, , 17F
先想辦法生個source insight,目前這樣太痛苦
03/03 17:35, 17F

03/03 18:16, , 18F
先問主管有多少時間,如果只有一個月,只能重新設計
03/03 18:16, 18F

03/03 19:18, , 19F
通常都談提升案重寫吧 舊程式一堆bug修修補補
03/03 19:18, 19F

03/03 19:18, , 20F
看不懂正常的
03/03 19:18, 20F

03/03 22:06, , 21F
跟業主說我看這個架構根本太糟了 我幫你新寫一個 不多收
03/03 22:06, 21F

03/04 00:11, , 22F
Working Effectively with Legacy Code
03/04 00:11, 22F

03/04 04:50, , 23F
做這個僅能重新設計,但是最慘的是分析規則、流程你大概會
03/04 04:50, 23F

03/04 04:50, , 24F
瘋掉而且公司可以給你做前置作業的時間應該不會太長,更可
03/04 04:50, 24F

03/04 04:50, , 25F
怕的是裡面應該會是那種將錯就錯結果卻對了,以及新系統上線
03/04 04:50, 25F

03/04 04:50, , 26F
舊系統的資料轉移處理跟測試
03/04 04:50, 26F

03/04 04:50, , 27F
時間可能比預期的久或是有客戶的客戶反應有資料錯,用戶多這
03/04 04:50, 27F

03/04 04:50, , 28F
個部分的處理成本就會相當可怕
03/04 04:50, 28F

03/04 04:51, , 29F
看到這個,僅能祝你跟公司好運 (笑
03/04 04:51, 29F

03/04 07:18, , 30F
推用source insight
03/04 07:18, 30F

03/04 09:58, , 31F
學android 外面包一層jni 就不會改到原本的了
03/04 09:58, 31F

03/04 11:15, , 32F
10年後沒什麼人用的dev c++ ˊ_ˋ
03/04 11:15, 32F

03/04 11:44, , 33F
外面再包一層把醜程式碼藏起來 至於重構嘛....
03/04 11:44, 33F

03/04 11:44, , 34F
只好交給下一位同事了
03/04 11:44, 34F
※ 編輯: a88241050 (36.224.168.181), 03/04/2018 12:41:04

03/04 17:22, , 35F
雖然看起來只有引入部分,但公布程式碼不太好吧
03/04 17:22, 35F

03/04 19:36, , 36F
你有問過要改成java的原因嗎?說不定根本不用動原本的c
03/04 19:36, 36F

03/04 19:36, , 37F
ode,用java寫個wrapper呼叫就可以了
03/04 19:36, 37F

03/07 18:10, , 38F
砍掉重練
03/07 18:10, 38F

03/09 20:09, , 39F
先C++ 後 JAVA, 人間慘劇
03/09 20:09, 39F
文章代碼(AID): #1QcbOfg4 (Soft_Job)
文章代碼(AID): #1QcbOfg4 (Soft_Job)