百度空间 | 百度首页 
 
查看文章
 
重构我们的Flash客户端
2009-06-19 19:25

重构是需要勇气和抗压能力的,因为一些原因让我下决心来完成客户端的重构。

1、需求基本都定型了。

2、以前的代码像团乱麻,全部通过关键的全局变量紧密耦合,牵一发动全身。

3、培养的两个人相继离开,让我开始反思如何让人员流动对项目影响最小。

4、以前的东西想到哪做到哪,根本没有任何架构可言。各种代码注释不清,换一个人基本没法改。

5、UI面上冗余数据太多,可没人敢删东西。

6、很多逻辑已经实现,在重构中可以节省考虑逻辑的时间。

我想很多开发Flash项目的公司或者团队都有着同样的问题,一开始策划不明确,数据结构来回改。一边需要建立基础引擎,一边需要准备随时修改,最重要的是工期还在天天逼着你。很多时候我们也就以先实现再说了。

这样的做法并没有问题,不过我们需要有一个人随时关注我们的改变,一旦需求成型我们应当如何迅速形成架构,建立标准和规范。

Flash网游的客户端架构其实并不算复杂,一个典型的MVC结构可以描述完。接下来就是如何来为MVC定义。

模型其实是最好设计的,但是他和我们的策划息息相关,策划不明确我们的模型事件就不好确定。

视图的实现比较简单,不过Flash里面的组件实在太难用了,根本就不是为游戏开发准备的,ASWing由于不是很熟悉我们没有采用。现在的做法是从编码命名上来做规范,使用黑羽的建议,所有AS文件中有关fla素材的内容全部使用"__"双下划线开头,并且所有的UI类都必须有一个initView方法将素材和私有变量关联。这样即使以后需要换肤,只要按照继续按照这个规则。我们仍可以很快实现。

控制层的规划是最不好做的,控制层负责了服务器指令和客户交互等等事情。我现在还在对控制层修改。

提一下通讯层和协议设定:通讯层不算复杂只负责接收数据把各个解析出来的完整数据包丢出来,通过事件让某个控制器接收就行了。通讯层的独立的优点几乎不用说了,什么时候想加密解密或者干点其他的修改就靠他了。

协议设定其实也没啥规定,不过我的做法基本是完全跟着模型(M)走,一个协议只负责一种模型的数据,如果一个操作会对两个模型数据变化,那么就走两个协议,谁也不挨着谁。这样控制器的工作也会单纯一些,谁的就是谁的都别抢。

最后说一下如何控制人员的问题对项目的影响,当然就是一个成型架构+代码工人的模式了。

过些日子发一点用EA软件重构系统的心得和图片。


类别:flash开发 | 添加到搜藏 | 浏览() | 评论 (9)
 
最近读者:
 
网友评论:
1
2009-06-26 11:45 | 回复
呵呵~
确实是这样,我们目前就在做这步工作,基本思想还是比较一致,有必要可以把层分得更细
 
2
2009-07-03 12:43 | 回复
看来 都会遇到这种情况! 特别是第一版,肯定会改的!
 
3
2009-08-03 10:45 | 回复
你好,博主,这几天一直在看你的文章,给我很多启发,我想请教你几个问题不知可否给我指点迷津!

是这样的,我有一点AS3和C#基础,现在老板让我一个人研究怎么做Flash RPG游戏,可我现在很迷茫不知从何下手,因为一点经验都没有!

还有这种项目的团队,最起码要还要配备哪几种成员(已知,AS3程序员若干,后台程序员,手绘和平面设计2名)。

如果只有我一个人搞前期的开发,写好一个RPG引擎和地图编辑器之类的东西,需要大概多久?

耽误大侠时间,在先此谢谢了!
 
4
2009-08-05 01:37 | 回复
回复莪婜伱:
你问的问题太大了,三言两语也说不清。
简单说一下:要做Flash rpg首先要从了解游戏的设计开始。最基础的就是数据结构的设计,还有架构。

团队的配置最少要有一个客户端主程、一个服务器主程两个人负责沟通清楚整体架构,当然要设计游戏,策划是最关键的。

一个人搞引擎保守估计要2-个月
 
5
2009-08-20 10:29 | 回复
不要想着如何让人员流动对项目影响最小,而要想着如何不让员工不离开
 
6
2009-08-20 10:31 | 回复
其实我以前就很注意架构的问题,可没人听啊!
 
7
2009-08-20 11:07 | 回复
回复???:树不动,风不动,心动。
 
8
2009-09-14 14:58 | 回复
觉得真的要好好想想我离开的根本原因,其实我比任何人都不愿意离开,总之还希望理解我,总之资大哥是我这辈子都很敬佩的前辈,真的赋予了我不少东西,如果今后还需要我帮忙,我一定会鼎力相助的,希望也不要因为我的离开抹杀了我和你之间的友谊,在公司,虽说我们是上级与下级的关系,在生活上我更觉得您是我的老师,贴心朋友,如果有一天您能自己开公司,我还会追随你的
 
9
2009-09-15 23:27 | 回复
回复???:能够理解:)我们都如此,每天都会面对很多东西。每个人都会根据自己的经历做自己的选择。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu