简单Elixir游戏服设计-call和测试不舒服的地方

这个系列写到这里,主要关注的2点在于。

1.  到底是call好还是cast好

2. 到底怎么测试更简单

现在发现前面的想法坚持不下来,让我觉得不舒服。

1. call 还是比较适用于阻塞期间无需及时处理其他消息的用法,这不适合多人游戏。

    之前为什么纠结于这个问题,实际上是希望利用call的有返回方便测试。

   但后面在进程端的测试其实很少,也就是说没有增益。

   具体是否合适,只有在项目里检验才知道。

2. 之前说游戏逻辑可以在数据结构上测,这种说法没什么问题。

   但又产生新的问题:

  2.1  进程才是erlang建模的世界观,是系统的API,而不是数据结构。

         数据结构测试完整逻辑,不能保证进程关于数据结构的使用是正确的。

  从API的观点看,进程是必须要测试的。

  2.2 把业务逻辑放到数据结构, 实际上使得数据结构模块臃肿了。

上个流产的项目我是按照这个思路去做的,不确定写这个系列时,为什么会去探索别的方案。

最大的可能是当时进程测试太啰嗦,却没有去简化进程测试,而想着改变测试位置。

现在想到进程测试同样可以简化, 直接把数据置为指定状态,然后再起进程,不就得了。

接下来,会按照这个思路,先把代码和测试调整过来吧。。。。郁闷

 

 

 

 

  

转载于:https://www.cnblogs.com/rubyist/p/7727208.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值