RoomScene模块重构前的思考

来源:互联网 发布:锐捷冒充mac地址上网 编辑:程序博客网 时间:2024/06/07 00:36
1.函数名字的命名
initXXX   ->只调用一次
比如:设置当前的玩法,那么在这个里面调用一次即可,不应该又在这里调用,又在其它的里面调用,很容易出错


updateXXX ->调用多次
比如:人数的刷新,可能过段时间就调用一次,因此不要起一个init方法




2.当前是什么玩法,玩法处于哪个阶段
if playType == XXX then
if stage == XXX then
...
elseif stage == XXX then
...
end
elseif playType == XXX then
...
end


然后,要根据当前是什么玩法,及其什么阶段,来显示界面。




3.全局变量的处理
写成service方法,不要用gt.playerData这种类似的写法,个人觉得不好.到底在service中处理gt.var 还是封装到runningScene.var
还是写到XXXService中的一个成员呢? 最好这个变量使用前起码初始化过一次,写gt中也是可以的。
比如托管状态,比如金币的一些信息:补助日期了,之类的




4.有些消息可能在界面中才发,也有可能在别的界面时,已经发了,消息注册到CommonMessage中即可.
这时候可以先拿着XXXService存储下当前的状态,然后: 
1.enter时处理一下,代表在别的界面已经发了;
2.在processEvent时处理一下,代表在本次这个界面中发了.




5.最好还是想清楚了再写代码,然而有时候确实想不清楚就开始动手写了,写完后,上线的代码,不一定有把握,所以不敢重构,看来还是得多些代码才行。




6.程序块的组织:
最好将相同模块的方法用:
---------比赛场-------------




---------金币场-------------


---------通用---------------


...这样区分开来,还是不错的
原创粉丝点击