前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你的游戏代码“病”了吗?

你的游戏代码“病”了吗?

作者头像
WeTest质量开放平台团队
修改2018-10-29 17:51:18
4810
修改2018-10-29 17:51:18
举报

代码作为游戏的“身体”,一旦生病,在“奔跑”过程中便极可能”跌倒”。如果你的游戏出现过运行错误、宕机偶现问题,或者某些功能与预期不符。那么一起来看看是不是你的游戏代码”病“了吧!

先来看两个病发现场:

代码“生病”带来的影响不仅仅是服务器宕机,还涉及到服务器和客户端的任何有代码运行的地方。那么常见的代码病症有哪些呢?经过有效统计,我们可以看到主要的四类常见代码“疾病”:

1. 空指针

那么,这么多病症是怎么引起的呢?我们先来看看最大的“空指针”问题。空指针就像是“感冒”,极其容易感染。谈起空指针,我们就要先来看一下,什么是指针。

那么,空指针又是什么呢?

空指针可能带来各类不可预知的游戏崩溃等问题。为了不让代码感染“空指针”,在代码编写的时候可以做一些“预防”措施。

2.野指针

空指针预防了,野指针又来了。野指针又是一种什么病呢?简单点说,当指针指向内存归属交由系统控制了,该指针就成为了野指针。野指针就像是“发烧”,一旦“高烧”,整个代码“身体”将不受控制,甚至出现错乱。

野指针究竟是怎么形成的呢?来看一个实例:

野指针可能会带来宕机、数据错乱等问题,而且不易被发现。如此一来,在代码编写时一定要有预防措施。

3.越界和移除

还有两种“疾病”是越界和溢出。通俗来讲,越界就是代码“身体”吃错了东西,而溢出则是东西吃多了。来看两个场景。

越界和溢出的危害也不小。越界就像东西吃错了,可能会导致身体不适,但很难被觉察。当吃的东西与“身体”产生冲突时,则会产生“食物中毒”(程序崩溃)。

而溢出就像吃多了,给身体增加了错误有害的“物质“,产生的影响可能会瞬间出现”急性肠胃炎“(代码报错),也可能在之后才出现“脂肪肝”等慢性病(在使用到受影响模块时才出现问题)。

预防越界和溢出,要控制住身体不“乱吃东西”,良好的“饮食习惯”是保证身体健康的重要前提。

4.未初始化

还有一种病叫做未初始化。这种病就像“过敏”,当代码“身体”摄入了“未知物质”时,就会出现排斥和异常。这种病可能只会产生小的异常反应,但当摄入物质影响到核心机能时,可能会出现“休克”甚至危及生命(宕机)。

首先,来看一下什么是初始化和未初始化。

那么,常见的“过敏源”有哪一些呢,来看看未初始化的分类。

针对常见的过敏源,来看看有哪些预防措施吧。

这么多的代码“病症”,我们建议采取“预防为主”的手段。通过体系化和针对性治疗,针对开发环节的不同阶段应用不同的方案,对代码进行“病症”扫描。

目前,WeTest质量开放平台已推出代码检查功能,扫描代码常见“病症”,助您打造健康游戏!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯WeTest 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档