当前位置: 首页 > news >正文

游戏开发中的友好提示,错误信息,异常描述等数据管理的必要性

在游戏开发中,有一个不可避免的场景就是用户操作异常或接口异常时,给用户弹出的友好提示或错误提示信息,例如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不光是游戏开发,其它的任何一个软件开发都是一样的,这些弹窗的处理都是不可避免。有些是客户端代码中直接弹出来的提示,有些刚是服务器返回的错误或提示。如果是一个小小项目还好,如果项目比较庞大,没有规范,虽然写的话,后期处理将是一个巨大的技术债。

一. 不管是前端,还是后端,在代码中不要出现写死的提示信息

可能很多开发者,在接手项目的时候,都没有考虑过这个问题,在哪里需要了,就会在哪里直接弹出或返回一个错误提示,例如:
在这里插入图片描述
这样写的坏处是:

  1. 如果需要修改,需要重新打包发版本,会影响线上业务
  2. 提示信息分散的散落的代码中,不方便统一处理,比如做国际化。。。
  3. 代码显得乱,可读性差

二. 在代码中,可以定义相关的提示枚举,把错误信息统一定义在枚举中,并且每个错误提示都定义一个唯一的编码

为了统一管理这些非功能性的字符串,可以把文字定义在枚举中,当然,因为这种提示性文字比较多,不建议所有的都定义在同一个枚举中,因为一个枚举的枚举项也是有限制的,超过了限制就不能添加定义了。另外如果都定义在同一个枚举类中,多人协同开发时,容易代码冲突,编码定义重复等问题。可以按模块划分,不同的模块定义在不同的枚举中,且不同枚举中的错误码可以重复。例如:
在这里插入图片描述
但是这样也没有解决上面所说的修改的问题,如果修改还是需要打包重新发版本。那怎么解决这个问题呢?让客户端在显示的时候去解决。

三. 客户端在显示提示信息时,先查找配置文件中有没有配置编码对应的文字信息。

不管客户端要显示的提示是客户端自己产生的,还是接收的服务器返回的,服务器会返回模块名及编码,提示信息。都先查一下客户端本地的配置,看看这个编码有没有配置对应的提示信息,有的话就不用代码中定义的或服务器返回的提示信息,而是使用配置文件中的提示信息。

那客户端的配置文件如何更新呢?

  1. 把配置文件放在服务器,定义一个版本号,在心跳接口或服务器返回的header中都返回实时的版本号,客户端比较版本是否发生了变化,如果不一样了,重新从服务器拉取最新的配置文件。
  2. 也可以把提示编码及信息添加到后台管理系统中,如果有变更,如果客户端与服务器是长连接的话,主动推送版本号发了变化。如果是新登陆的用户,那拉取的就是最新的数据。

这样当发现某个提示写错了或需要优化时,直接在服务器修改即可。

综上所述,对提示信息进行统一的管理,有以下好处:
1. 方便做国际化处理,如果产品需要在国内或国外一起上线的话,不同地区配置成不同地区的语言即可。
2.在产品运营过程中,产品人员也可以随时修改提示信息
3. 代码干净整洁,阅读起来赏心悦目
4. 团队开发过程中,减少代码冲突

http://www.dtcms.com/a/392093.html

相关文章:

  • 总线协议(Bus Protocol)如何支持总线错误条件?
  • simuilink 中的引用模型(reference model)的作用? 它和子系统的区别? 如何生成引用模型?
  • HTML+JS实现table表格和鼠标移入移出效果
  • windows11用Qt6自带的mingw编译OSGEarth(自用记录)
  • 仓颉编程语言青少年基础教程:泛型(Generic)和区间(Range)类型
  • 原码反码补码------相关理解
  • 【Python】字典
  • 玩转deepseek之海报生成器
  • C++强制类型转换和I/O流深度解析
  • Transformer 和 MoE
  • Python基础 7》数据类型_元组(Tuple)
  • AI大模型入门第四篇:借助RAG实现精准用例自动生成!
  • leetcode 198 打家劫舍问题,两个dp数组->一个dp数组
  • 嵌入式ARM架构学习8——串口
  • Motion-sensor基础应用
  • 今日行情明日机会——20250919
  • 跟着Carl学算法--动态规划【7】
  • T拓扑结构的特性
  • 第一章 开发工具与平台介绍
  • 线上环境出了个问题:Young GC看起来很正常,但Full GC每天发生20多次,每次都让CPU飙得很高。你会怎么去排查和解决?
  • Linux系统多线程总结
  • 【PyTorch】单对象分割
  • 1.3 状态机
  • 软件测试之自动化测试概念篇(沉淀中)
  • 二分答案:砍树
  • 串口通信简介
  • 模运算(Modular Arithmetic)的性质
  • 破解“双高“电网难题,进入全场景构网新时代
  • 企业实训|AI技术在职能办公领域的应用场景及规划——某央企汽车集团
  • 双向链表与通用型容器