4/6/2010,5/7/2010

27 篇文章 0 订阅
24 篇文章 0 订阅

4:05 PM 5/7/2010
- 体会“代码噪音”这个词语。
- 遇到问题,首先考虑能不能做个工具来自动解决,这是最高级的方案
- 与其分而治之,不如化繁为简: 削除重复,寻求统一。普通的重复必然要削除。更隐蔽的重复,比如模式。程序里面可
    能有许多的模式,但是却有相似的功能。统计程序的所有模式,并尽量减少模式的数量
- 分模块有时候就像搭电话线,一根线连接彼此,搭好了后就不管你想说啥想传啥都可以。。
- 如果要触发事件,创建一个事件处理对象,比回调一个事件处理函数要好,
    这得益于面向对象。事件处理对象比事件处理函数强大的多。
- 如果有个对象有太多的数据需要用户通过界面来配置,那么考虑数据驱动吧:让这个对象
    反射自己的数据,界面通过反射出来的数据动态构造界面。。。
- 所谓的灵活设计,就是用大量虚函数在正常逻辑处理里面放置插槽,供扩展使用。。。
- Mosaic分离了功能块和调用逻辑,调用逻辑单独维护,这也增加了维护难度。。。。


8:56 AM 4/27/2010
粒度过细,只能看到砖,看不到房子。粒度过大,只能看到轮廓,也看不到房子。初学者往往为粒度问题犯难。在架
构设计的时候,要从大粒度分析,大到完成一项业务;系统建模的时候,要从小粒度分析,小到与计算机交互。参见
《OO系统分析员之路--用例分析系列(2)--用例的类型与粒度》


2:53 PM 4/7/2010
做一个功能,可以考虑:bat脚本和GUI
- 脚本实现简单,逻辑简单,但是交互麻烦,如果有些参数频繁改动,就要频繁改脚本
- GUI实现稍复杂,但是交互方便,很容易地改参数,甚至可以用列表来选择,状态提示等


8:59 AM 4/15/2010
设计基类的时候,需要考虑的一个问题是,如果流接口给子类重载,那么子类是否必须条用重写前的接口呢。
如果没有简单的规则,那么子类实现的时候可能会想着到底需不需要调用父类的老版本呢。
这会让子类很困惑,就会去看父类的代码,如果父类没有在头文件里面说明,还得去看实现。。。
virtual的通常习惯是重写。。。重写的意思就是替换老版本。。。
参见《A Critique of C++ and Programming and Language Trends of the 1990s》


5:39 PM 4/14/2010
怎样方便的进行运行时调试(或一些功能测试)是值得考虑的问题。
运用TCP连接外部调试器的一个好处是,可以同时控制服务器和客户端,而且不中断游戏的运行


9:58 AM 4/6/2010
改进
    如果要能随时关闭AI,那么AI应该单独出一个继承体系出来。更进一步的,如果要简化JUMP目前的结构,那么
    AI就应该放在服务器上。
   
    这个故事告诉我们,需求产生设计。
    另,继承不是毒药。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值