看板 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.jpghttps://i.imgur.com/Q5QxcBE.jpghttps://i.imgur.com/TRGPuf3.jpg-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.185.165※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1520064041.A.A84.html→ diabloevagto: 寫測試1F 03/03 16:02→ remmurds: 如果原始需求是啥都沒人知道是要怎麼寫測試2F 03/03 16:14→ dreamnook: 資料流 邏輯流 或是純粹找前輩問商業邏輯整個重構3F 03/03 16:18推 s89162504: 八掛是真的有人在用dev c++4F 03/03 16:19我只是為了看code而已,用dev-c++就夠用啦→ dreamnook: 大概是學生(大誤5F 03/03 16:20→ sojoasd: 如果知道100%原來邏輯,再從這些邏輯先寫單元測試,再依6F 03/03 16:36→ sojoasd: 照頁面上的操作取得需要的函式組成Controller........如→ sojoasd: 果原來邏輯不清楚,需要用原程式去猜測的話,你還是塊陶→ sojoasd: 吧推 abccbaandy: 能知道原始邏輯原PO大概也不會上來問吧XD10F 03/03 17:10→ erspicu: 不用重寫了拉...看功能用途整個重新設計比較快....11F 03/03 17:13→ erspicu: 風格差異太大 語法改寫很僵硬 乾卻重新規畫好→ testPtt: 要用IDE看阿 macro沒作用的比較好辨識13F 03/03 17:19→ blueminor: 之前我們公司做過類似的,但是是把VB換java。工程非常14F 03/03 17:20→ blueminor: 浩大→ ab18282099: 乾脆重頭開發16F 03/03 17:30→ pttworld: 先想辦法生個source insight,目前這樣太痛苦17F 03/03 17:35推 noenemy: 先問主管有多少時間,如果只有一個月,只能重新設計18F 03/03 18:16→ ChungLi5566: 通常都談提升案重寫吧 舊程式一堆bug修修補補19F 03/03 19:18→ ChungLi5566: 看不懂正常的推 kckckckc: 跟業主說我看這個架構根本太糟了 我幫你新寫一個 不多收21F 03/03 22:06推 MBRSL: Working Effectively with Legacy Code22F 03/04 00:11→ alog: 做這個僅能重新設計,但是最慘的是分析規則、流程你大概會23F 03/04 04:50→ alog: 瘋掉而且公司可以給你做前置作業的時間應該不會太長,更可→ alog: 怕的是裡面應該會是那種將錯就錯結果卻對了,以及新系統上線→ alog: 舊系統的資料轉移處理跟測試→ alog: 時間可能比預期的久或是有客戶的客戶反應有資料錯,用戶多這→ alog: 個部分的處理成本就會相當可怕→ alog: 看到這個,僅能祝你跟公司好運 (笑推 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→ vi000246: 只好交給下一位同事了※ 編輯: a88241050 (36.224.168.181), 03/04/2018 12:41:04推 alex0914: 雖然看起來只有引入部分,但公布程式碼不太好吧35F 03/04 17:22推 cobrasgo: 你有問過要改成java的原因嗎?說不定根本不用動原本的c36F 03/04 19:36→ cobrasgo: ode,用java寫個wrapper呼叫就可以了--
↧
[請益] 請問要怎麼改老舊的程式碼?
↧