关于代码重构:是微修还是全部推倒重来

简介:

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)


虽然不是很切题但还是放在Cocos2D的学习系列博文中吧,因为这是我写cocos2D代码中体会到的.

RPG游戏码代码到现在已经写了不少行代码了.

最近在加入新功能的时候发现以前遗留的人物对话问题一直没有解决,游戏对话逻辑是RPG中重要的逻辑,而我的代码问题具体表现在:

  1. 对话代码逻辑及其复杂.因为以前从来没有写过类似的代码,要想支持游戏剧情的复杂性,必须将对话脚本做成一个小解释性语言,我等于要写一个小型的语言解释器.从零开始到现在不停地盲目微修,乱七八糟,一段时间里我都不敢看里面的逻辑.
  2. 需要反复调整不停地命令组合来适应正确的对话逻辑.往往都是这里多加一个回车符,那里减去一个,很糟糕
  3. 对话逻辑鲁棒性极差.同一段对话第一次总是有错误,但以后都是对的.重新进入该地图后第一次对话又是错的,这样周而复始.

综上所示,本猫表示不能再忍了.

也不再准备微修,因为那样又要陷入无穷无尽的打补丁,调试循环中去.我决定全部重写对话逻辑.

首先将原对话类改名,新建同名文件…

具体就不详述了.但是让我感到欣慰的是,原以为晦涩痛苦的重构过程比想象的要简单,本来以为要几天才能全部完成,没想到半天就全部搞定了 :)

测试后发现,之前问题全部解决,类中减少了不少变量,代码显著变少,逻辑变得更清楚了.俗话说得好,不出错的代码是还没有写的代码.经过这次重构感觉自己对代码重构上体会又多了一层,对到底是微修还是彻底重写的处理又领悟到更多的一点点.

如果你的代码异常复杂,已经千疮百孔,荆棘丛生,那么不要在费劲一点点重构了,果断推倒重来是最快最好的办法,无论是自己写的代码还是维护别人的代码.最后祝君好运 ;)

相关文章
|
4天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1317 4
|
4天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
667 3
|
5天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
|
11天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
773 6
|
8天前
|
物联网 API UED
Qwen-Image-Edit-2511来啦!角色一致性再提升,LoRA能力内置
Qwen-Image-Edit-2511发布!提升角色与多人合照一致性,集成Lora打光、新视角生成,增强工业设计与几何推理能力。已开源,支持魔搭、QwenChat免费体验,本地部署可获最佳效果。
466 3