※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2018-03-04 20:12:27
看板 Soft_Job
作者 標題 [請益] 請問要怎麼改老舊的程式碼?
時間 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
→ : 寫測試1F 03/03 16:02
→ : 如果原始需求是啥都沒人知道是要怎麼寫測試2F 03/03 16:14
→ : 資料流 邏輯流 或是純粹找前輩問商業邏輯整個重構3F 03/03 16:18
推 : 八掛是真的有人在用dev c++4F 03/03 16:19
我只是為了看code而已,用dev-c++就夠用啦→ : 大概是學生(大誤5F 03/03 16:20
→ : 如果知道100%原來邏輯,再從這些邏輯先寫單元測試,再依6F 03/03 16:36
→ : 照頁面上的操作取得需要的函式組成Controller........如
→ : 果原來邏輯不清楚,需要用原程式去猜測的話,你還是塊陶
→ : 吧
→ : 照頁面上的操作取得需要的函式組成Controller........如
→ : 果原來邏輯不清楚,需要用原程式去猜測的話,你還是塊陶
→ : 吧
推 : 能知道原始邏輯原PO大概也不會上來問吧XD10F 03/03 17:10
→ : 不用重寫了拉...看功能用途整個重新設計比較快....11F 03/03 17:13
→ : 風格差異太大 語法改寫很僵硬 乾卻重新規畫好
→ : 風格差異太大 語法改寫很僵硬 乾卻重新規畫好
→ : 要用IDE看阿 macro沒作用的比較好辨識13F 03/03 17:19
→ : 之前我們公司做過類似的,但是是把VB換java。工程非常14F 03/03 17:20
→ : 浩大
→ : 浩大
→ : 乾脆重頭開發16F 03/03 17:30
→ : 先想辦法生個source insight,目前這樣太痛苦17F 03/03 17:35
推 : 先問主管有多少時間,如果只有一個月,只能重新設計18F 03/03 18:16
→ : 通常都談提升案重寫吧 舊程式一堆bug修修補補19F 03/03 19:18
→ : 看不懂正常的
→ : 看不懂正常的
推 : 跟業主說我看這個架構根本太糟了 我幫你新寫一個 不多收21F 03/03 22:06
推 : Working Effectively with Legacy Code22F 03/04 00:11
→ : 做這個僅能重新設計,但是最慘的是分析規則、流程你大概會23F 03/04 04:50
→ : 瘋掉而且公司可以給你做前置作業的時間應該不會太長,更可
→ : 怕的是裡面應該會是那種將錯就錯結果卻對了,以及新系統上線
→ : 舊系統的資料轉移處理跟測試
→ : 時間可能比預期的久或是有客戶的客戶反應有資料錯,用戶多這
→ : 個部分的處理成本就會相當可怕
→ : 看到這個,僅能祝你跟公司好運 (笑
→ : 瘋掉而且公司可以給你做前置作業的時間應該不會太長,更可
→ : 怕的是裡面應該會是那種將錯就錯結果卻對了,以及新系統上線
→ : 舊系統的資料轉移處理跟測試
→ : 時間可能比預期的久或是有客戶的客戶反應有資料錯,用戶多這
→ : 個部分的處理成本就會相當可怕
→ : 看到這個,僅能祝你跟公司好運 (笑
推 : 推用source insight30F 03/04 07:18
推 : 學android 外面包一層jni 就不會改到原本的了31F 03/04 09:58
推 : 10年後沒什麼人用的dev c++ ˊ_ˋ32F 03/04 11:15
推 : 外面再包一層把醜程式碼藏起來 至於重構嘛....33F 03/04 11:44
→ : 只好交給下一位同事了
※ 編輯: a88241050 (36.224.168.181), 03/04/2018 12:41:04→ : 只好交給下一位同事了
推 : 雖然看起來只有引入部分,但公布程式碼不太好吧35F 03/04 17:22
推 : 你有問過要改成java的原因嗎?說不定根本不用動原本的c36F 03/04 19:36
→ : ode,用java寫個wrapper呼叫就可以了
→ : ode,用java寫個wrapper呼叫就可以了
--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 578
回列表(←)
分享