互联网从业者充电站 头像

消息来源频道

互联网从业者充电站

@https1024

频道28,610 位成员公开可见持续更新

互联网从业者专属 内容多为技术、产品、设计、运营等不同话题内容; 目标人群为程序员、设计师、产品经理、运营管理等不同职能。 投稿/合作: @inside1024_bot 内容来源网络

成员规模28,610 位成员
在线情况待同步
消息总数32,672 条消息
浏览量总数5,084,371 次浏览

在这个频道里搜索消息……

t.me/https1024

程序是死的,程序设计是活的。
【用例】
有个技能叫火球术,有个天赋A可以让火球术击中时附加Buff,有个天赋B可以让火球术击中时附带击退效果。
【设计方案一】
只学习天赋A时,将火球术替换为技能A;
只学习天赋B时,将其替换为技能B;
AB天赋都学时,将火球术替换为技能C。
优点:不需要任何新增的数据模型,现有代码直接就能用;代码理解成本低,因为只是替换技能。
缺点:当多个天赋影响同一个技能时,一个技能就要配置CDEFGH技能。
【设计方案二】
新设计一种数据模型,用于描述技能局部的修改。
优点:无论学习几个天赋,火球术都依然是它本身。
缺点:这个数据模型定义起来很麻烦,比如动作游戏里要改变第N帧的击退力度。
【决策】
如果项目只会有一个天赋影响一个技能,或者项目特别赶时间出原型,方案一就合理。
否则方案二更合理。