什麼是遊戲陪玩app原始碼開發的過度設計,如何避免?
軟體設計(架構)往往在遊戲陪玩app原始碼開發中起到非常關鍵性的作用。良好的軟體設計包含了:靈活性、可伸縮性、可行性、可複用性、安全性,通過該一系列的定義,使我們影響到了遊戲陪玩app原始碼功能的設計和特徵。
一、什麼是過度設計
過度設計一詞在英文中稱為"over design",over意思是太多,design意思是設計、構思,通過教科書上面的解釋,意味著遊戲陪玩app原始碼設計的或構思的太多了,即為過度設計。
什麼是過度設計?設計出來的遊戲陪玩app原始碼比恰到好處要複雜或臃腫的多,過度的封裝、繼承、介面或是大量的無用配置方法,其實就是使用者需要一把殺雞的刀,而你卻設計出了殺牛刀或是電鋸。
過度設計通常來自於開發者將問題過於複雜化或是前瞻性欠缺。
在我們日常所犯的錯誤中,大部分是來自於前者,至於後者的欠缺,需要一定的遊戲陪玩app原始碼經驗和洞察力來支撐,能夠合理的預判和考慮需求會哪個方向發展。
在前者,問題複雜化會引入大量額外的代價,如成本上升,遊戲陪玩app原始碼缺陷增大、提升維護成本、降低系統效能。而高效能和可維護性都是系統的隱性需求,如果這些也沒實現好,那就可能屬於設計錯誤。
但是從客觀角度來看,能夠進行過度設計的,多半設計能力高於設計不足的,過度的設計改回來的成本也比設計不足的改過去的成本低的多,在此需要更多地去權衡"利與弊"。
二、過度設計案例
以遊戲陪玩app原始碼系統充值為例,最初你設計的系統只需要一個支付寶功能,你的資料庫設計如下:
id primary key int //主鍵 user_id int//充值使用者 status int //-1充值失敗,0充值中,1充值成功 order_no string //第三方支付系統訂單號 amount decimal //金額
但是沒過多久,你的遊戲陪玩app原始碼需要接入另一個支付系統-微信,需要區分使用者是通過微信還是支付寶充值的,於是你的資料庫設計便成了以下模樣
id primary key int //主鍵 user_id int//充值使用者 status int //-1充值失敗,0充值中,1充值成功 order_no string //第三方支付系統訂單號 platform string //第三方交易平臺 amount decimal //金額
但是你想了下,感覺可能以後需要接入銀聯支付,需要記錄是哪張銀行卡支付的,然後你又想了下,既然已經接入了銀聯支付,那順便就再完善以下,支援國際支付,如美元充值,港幣充值,然後需要記錄上當地充值的匯率及當地支付時間,最終你花了一天的時間,將遊戲陪玩app原始碼資料庫改成了這樣
id primary key int //主鍵 user_id int//充值使用者 status int //-1充值失敗,0充值中,1充值成功 order_no string //第三方支付系統訂單號 platform string //第三方交易平臺 amount decimal //金額 currency string //貨幣:CNY USD HKD bank_id int //銀行卡ID rate decimal // 充值匯率 local_pay_time //當地支付時間
完成基本設計後,你花了4周的時間完成遊戲陪玩app原始碼編碼和測試,最終交付了上去,然而系統的初衷只是需要簡單區分的是微信充值或支付寶充值,而因過度設計帶來的額外成本和缺陷是非常巨大的,為此我們需要盡力讓自己做的恰到好處並且避免過度設計。
三、如何避免過度設計?
避免過度設計的最佳方法就是“不要設計的太遠”,未了解實際未來,就做出了各種預設和判斷,為遊戲陪玩app原始碼增加了額外的負擔。
正如scrum(敏捷開發)所倡導的Evolutionary Design(演進式設計),將每一次的重構和迭代都對映和更新到最新的設計中來,從而最大限度的滿足遊戲陪玩app原始碼的功能性需求和非功能性需求。
當你手裡握著一把錘子時,不要把所有看到的,都當成釘子。
本文轉載自網路,轉載僅為分享乾貨知識,如有侵權歡迎聯絡雲豹科技進行刪除處理
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996194/viewspace-2793829/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遊戲陪玩app開發,高併發系統如何設計?遊戲APP
- 遊戲陪玩app原始碼開發,常用的倒數計時功能如何實現?遊戲APP原始碼
- 遊戲陪玩APP遊戲APP
- 遊戲陪玩app原始碼開發,啟動速度優化與監控遊戲APP原始碼優化
- 遊戲開發者應避免掉進“過度設計”的陷阱遊戲開發
- 遊戲陪玩系統開發,架構設計的開閉原則是如何實現的?遊戲架構
- 從比心APP原始碼的成功,分析陪玩系統原始碼應該如何開發APP原始碼
- 遊戲陪玩app開發中,Mysql的sql優化方法遊戲APPMySql優化
- 如何在遊戲陪玩app原始碼中實現簡訊驗證碼登入?遊戲APP原始碼
- 遊戲陪玩原始碼前端開發,不容忽視的五個要點遊戲原始碼前端
- 在遊戲陪玩原始碼開發中,兩種清空陣列的方式遊戲原始碼陣列
- 遊戲陪玩app開發,訊息可靠性的實現遊戲APP
- 遊戲陪玩平臺原始碼開發,依賴收集和觸發的實現遊戲原始碼
- 遊戲陪玩系統原始碼開發,如何實現圖片和動畫的優化?遊戲原始碼動畫優化
- 遊戲開發者的思考:什麼是遊戲設計的核心?遊戲開發遊戲設計
- 遊戲陪玩系統原始碼的許可權設計,如何基於位運算實現?遊戲原始碼
- 如何利用限流解決遊戲陪玩app開發中的重複提交問題?遊戲APP
- 遊戲陪玩原始碼開發,正確認識節流和防抖遊戲原始碼
- 遊戲陪玩app開發,前端實現一個輪詢需要如何做?遊戲APP前端
- 遊戲陪玩原始碼前端效能優化,開發階段可採取的措施遊戲原始碼前端優化
- 如何實現遊戲陪玩系統原始碼前端效能監控?遊戲原始碼前端
- 要想實現遊戲陪玩app原始碼的效能測試與調優,應該怎麼做?遊戲APP原始碼
- 遊戲陪玩原始碼的移動端適配,應該如何實現?遊戲原始碼
- 遊戲陪玩原始碼開發中,頁面跳轉方式及生命週期分析遊戲原始碼
- 測試遊戲陪玩app開發中的啟動效能,需要這樣做遊戲APP
- 遊戲陪玩平臺原始碼,日期格式化的程式碼分析遊戲原始碼
- 提高遊戲陪玩app開發水準,熟練掌握正規表示式遊戲APP
- 不一樣的遊戲陪玩原始碼服務端介面設計模式,值得一看遊戲原始碼服務端設計模式
- 如何在遊戲陪玩系統原始碼中實現“刮刮樂”效果?遊戲原始碼
- 遊戲陪玩app原始碼的可靠訊息最終一致性方案的實現遊戲APP原始碼
- 遊戲陪玩平臺原始碼開發,聊天室內的禮物連擊效果的實現遊戲原始碼
- 遊戲開發與設計中的“3C”是指什麼?遊戲開發
- 如何開發陪玩系統原始碼的列表頁面,相關實現程式碼原始碼
- 在遊戲陪玩系統開發中,如何進行效能測試?遊戲
- 遊戲陪玩系統開發,音視訊混流的實現程式碼遊戲
- 如何進行遊戲陪玩系統原始碼中音視訊的自動化測試?遊戲原始碼
- 遊戲陪玩原始碼前端圖片載入優化的各種技巧遊戲原始碼前端優化
- 遊戲陪玩系統開發,業務程式碼判斷生產/開發環境的方式遊戲開發環境