Re: [問題] 為什麼可以有這麼多bug?

看板ToS作者 (瑞奇西老猴獵奇)時間3年前 (2020/07/28 11:47), 3年前編輯推噓24(24024)
留言48則, 31人參與, 3年前最新討論串2/2 (看更多)
原文吃掉 小弟不才 只是個廢柴軟體工程師 其實這問題沒有這麼難理解 很多公司在小時候只是隨意做做設計 可能當初沒想到會做到這麼大 所以在很多地方都會做的很粗糙 軟體工程有很重要的兩個核心觀念 重複使用性(reusability) 多重繼承性(multiple inheritance) 簡單來說就是一段程式碼重複使用 正常來說有規模的軟體公司都會遵照這兩個概念 畢竟一樣的功能卻寫好幾段程式碼會造成你的程式肥大 (雖然神魔本來就很肥了) 那神魔究竟錯在哪了呢? 回到一開始的草創期粗糙 當一個功能重複使用或被繼承的時候 最底層的那個功能(原始碼)如果防護沒有做好 多方引用 就會造成可能A物件動到B物件的東西 舉例來說你飲料放冰箱被室友偷喝 然後你打開冰箱就崩潰了 或是A物件用完了沒有移除他 造成你RAM爆開 可以想像成出門忘了關冷氣 電費就爆了 一般來說閃退就是這個原因 最後我想說的是神魔其實有在改善他們的程式碼 他們開始試著用軟體工程的思維來寫程式 看看希臘二技能的某個效果 其實我一直很納悶只轉個幾顆是有屁用 為什麼不全轉 但後來再仔細看看是不是哪裡似曾相似? https://i.imgur.com/pk4CljE.png
我猜現在很多技能改成 I II III 敘述 其實就是分別把這些弄成單一物件 然後大家互相引用 這樣方便玩家閱讀 也方便自己內部工程師了解同事們有做了哪些東西 以後要用的時候就可以直接引用(照抄) 對 然後可能某個功能底層防護沒做好就爆了 比如最近的夏瑪西跟雪未來就是類似的東西 那你可能會問為什麼有些技能明明一樣 有時候A出事 B卻沒事 因為這是兩個不同的人寫的 B不知道有這A功能 所以就自己寫了一個 以前bug沒這麼嚴重反而是因為每個人只要負責自己的 自己的爆了就爆了 不會影響其他人 爆了我就修好我自己的 但也因此造成程式會很肥 大概4john 但我最不能理解的是為什麼都沒有SOP驗證... 因為軟體公司至少發布版本前都要經過基本的SOP確認... 為什麼神魔沒有 我就不知道了 -- https://i.imgur.com/SNtREeN.jpg
https://i.imgur.com/ha2iHAQ.png
https://i.imgur.com/bdxUjnh.png
https://i.imgur.com/ZLzSnT7.jpg
https://i.imgur.com/gir9v4q.png
https://i.imgur.com/BdczzrL.png
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.69.188 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/ToS/M.1595908047.A.2FA.html ※ 編輯: ricky469rick (123.192.69.188 臺灣), 07/28/2020 11:51:39

07/28 11:52, 3年前 , 1F
有驗證啊 廣大的玩家幫他們
07/28 11:52, 1F

07/28 11:57, 3年前 , 2F
優質好文 推
07/28 11:57, 2F

07/28 12:00, 3年前 , 3F
我有問題 工程師都抽幾隻夏娃
07/28 12:00, 3F

07/28 12:10, 3年前 , 4F
全世界開發都只管自己寫的吧,根本沒co-work
07/28 12:10, 4F

07/28 12:11, 3年前 , 5F
一堆低能PG遇到問題只會先怪網路有沒有問題、硬體不夠?
07/28 12:11, 5F
其實不是合作問題 而是正常來說都會去引用 因為當功能越來越複雜的時候為了趕時間就不可能全部自己來 會去看看底層是不是有人做過類似的事情就直接拿來用 比如說"心轉自身"這件事情 不可能每次遇到就重寫一次 是看 "喔喔~這邊有一個心轉自身的程式碼/物件我複製/引用起來" 以往可能是直接複製來的居多然後稍作修改 越做越大之後變成要用引用的來增加程式碼的可讀性

07/28 12:13, 3年前 , 6F
影響
07/28 12:13, 6F
改了

07/28 12:13, 3年前 , 7F
是 所以有些討論都會提到某技能的基底是哪個技能
07/28 12:13, 7F
※ 編輯: ricky469rick (123.192.69.188 臺灣), 07/28/2020 12:19:50

07/28 12:20, 3年前 , 8F
時至今日,看起來資料結構/程式架構有問題
07/28 12:20, 8F

07/28 12:44, 3年前 , 9F
我的意思就這樣阿
07/28 12:44, 9F

07/28 12:45, 3年前 , 10F
所以我才覺得很莫名奇妙
07/28 12:45, 10F

07/28 12:46, 3年前 , 11F
並不是改改圖片改數值 沒有這麼簡單
07/28 12:46, 11F
你的意思應該差很多吧... 並不是改改數值改改圖片就好了 就講個常見的例子 某A功能要讀取B圖片 建立了B圖片的指標 然而今天又多了某C功能 他發現A有讀取這B圖片的功能 於是就引用了 但A功能當初可能寫死 他用完圖片後為了怕B圖片站記憶體 就刪除了B圖片的指標 結果平行方面的C功能要抓這B圖片時就爆開了 這問題就在於C功能沒有做好防護抓不到B要怎麼辦 那當然可能一開始C跟A都相安無事 然後時間久了又多了DEFG功能一路繼承引用 然後某個功能碰到了就爆了 ※ 編輯: ricky469rick (123.192.69.188 臺灣), 07/28/2020 12:51:20

07/28 12:48, 3年前 , 12F
就是改引用的物件 代碼 文字 不是嗎?
07/28 12:48, 12F

07/28 13:26, 3年前 , 13F
就是以前的技術債 慢慢的開始引爆了
07/28 13:26, 13F

07/28 13:27, 3年前 , 14F
yes
07/28 13:27, 14F

07/28 13:30, 3年前 , 15F
神魔的測試規劃很詭異 說不定根本不重視 一堆驗證一下就能
07/28 13:30, 15F

07/28 13:30, 3年前 , 16F
出來的低級bug
07/28 13:30, 16F

07/28 13:53, 3年前 , 17F
推~神魔程式碼其實很多都是新手才會犯的低級錯誤
07/28 13:53, 17F

07/28 13:57, 3年前 , 18F
像變身系統會重複判定的bug...實在是..=_=a
07/28 13:57, 18F

07/28 14:09, 3年前 , 19F
專業推
07/28 14:09, 19F

07/28 14:16, 3年前 , 20F
寫過大程式就知道出 bug 難免,尤其神魔這種疊床架屋的
07/28 14:16, 20F

07/28 14:16, 3年前 , 21F
系統。 但是連當次新增的腳色bug都抓不出來就真的是MH
07/28 14:16, 21F

07/28 14:17, 3年前 , 22F
的鍋
07/28 14:17, 22F
真的是這樣 我們公司自己的產品也是因為久了結構慢慢撐不住 但至少新版本丟給客戶前會經過驗證機台SOP流程跑過 把大問題都先擋下來 客戶拿到後頂多發生些小問題再修正 至於神魔這種直接把滿是肉眼可見的問題版本丟出來... ※ 編輯: ricky469rick (123.192.69.188 臺灣), 07/28/2020 14:27:36

07/28 14:32, 3年前 , 23F
中資!
07/28 14:32, 23F

07/28 14:39, 3年前 , 24F
身為同行 說的沒錯 推
07/28 14:39, 24F

07/28 14:55, 3年前 , 25F
系統早期建構的複雜度、工程師自身的經驗、註解完整度
07/28 14:55, 25F

07/28 14:57, 3年前 , 26F
還有工程師人員流動程度還有PM廢物程度(誤) 都會影響
07/28 14:57, 26F

07/28 14:59, 3年前 , 27F
bug 出現機會,偏偏看起來MH都很糟
07/28 14:59, 27F

07/28 15:15, 3年前 , 28F
MH開了測試服…測出了BUG一樣開給玩家享受…
07/28 15:15, 28F

07/28 15:16, 3年前 , 29F
同行推
07/28 15:16, 29F

07/28 15:22, 3年前 , 30F
MH的問題是每次改版都像是沒測試過就丟出來的樣子
07/28 15:22, 30F

07/28 15:42, 3年前 , 31F
因為他不是軟體公司
07/28 15:42, 31F

07/28 15:56, 3年前 , 32F
專業推 MH的資結要好好重新審視啦
07/28 15:56, 32F

07/28 16:14, 3年前 , 33F
本來預計3-5年就要收的遊戲,只是夢醒了,門關了,只能
07/28 16:14, 33F

07/28 16:14, 3年前 , 34F
小心不讓塔倒了
07/28 16:14, 34F

07/28 16:34, 3年前 , 35F
其實就是技術債欠太多...MH也不打算處理 放給它爛
07/28 16:34, 35F

07/28 16:35, 3年前 , 36F
原原po繼續刷存
07/28 16:35, 36F

07/28 17:26, 3年前 , 37F
MH的測試服就是玩家,馬的
07/28 17:26, 37F

07/28 18:53, 3年前 , 38F
推優文
07/28 18:53, 38F

07/28 18:53, 3年前 , 39F
可憐PG要幫前人除蟲
07/28 18:53, 39F

07/28 19:08, 3年前 , 40F
你 是不是厲害的小海豹??
07/28 19:08, 40F

07/28 20:04, 3年前 , 41F
MH沒想到可以撐七年吧xddddddddd
07/28 20:04, 41F

07/28 20:35, 3年前 , 42F
這個現在要處理可能整個系統要打掉重練才有辦法XD
07/28 20:35, 42F

07/28 20:37, 3年前 , 43F
這種線上遊戲 更新的東西越疊越多情況下 後面出BUG的狀況
07/28 20:37, 43F

07/28 20:37, 3年前 , 44F
只會越來越嚴重而已
07/28 20:37, 44F

07/28 21:28, 3年前 , 45F
沒想到能撐7年+1,之前大概想炒短線一波收,結果誤打誤
07/28 21:28, 45F

07/28 21:28, 3年前 , 46F
撞走到今天還拿了好幾次他媽的金賞XDD
07/28 21:28, 46F

07/29 02:19, 3年前 , 47F
還真的是誤打誤撞...MH之後自製的遊戲沒一個成功的
07/29 02:19, 47F

07/29 04:21, 3年前 , 48F
十萬個為什麼的提交答案還會消失 懶的回答了
07/29 04:21, 48F
文章代碼(AID): #1V7v_FBw (ToS)
文章代碼(AID): #1V7v_FBw (ToS)