2007-2-26,2007-8-16

来源:互联网 发布:淘宝网天猫帽子 编辑:程序博客网 时间:2024/05/29 15:25

//2007-2-26

1 类结构的一些体会
 
  我感觉,所有的类都应该从一个类继承,为什么这么说呢,从已有的类继承的化,可以方便维护。父类的功能子类默认都有,子类还可以自己添加功能。这样么,可以重用大量的代码,也可以使维护十分方便。不过这样可能会增加类之间的偶合度。

//2007-3-15

1 关于MVC模式

  这个模式将对象分为逻辑Control,视图View,数据Model的组合,使的一个对象可以灵活的进行组装,就现在来看,她解决了静态数据和动态数据分离的问题,还带来了例如Animator设计的方便,这样看来,她应该被大量推广使用,尤其在对象比较复杂的情况下。

//2007-3-29

1 多态应该使用组件实现
2 多使用组合
3 减少接口
4 明确目的

//2007-4-13

  懂什么什么技术的很多,但是能很好地运用到游戏里面的就很少了,而目前我们是前者。

//2007-6-28

  我们不想听到你说,你用什么技术什么技术,请给我们演示你的DEMO。

  无论何时,我们要重视程序的效果,而不要太看重代码。
  请不要忘记,程序是给人用的,请用效果来说话。

//9:31 2007-8-9 錦天

  内存管理真是麻烦,释放了已经释放的内存就会出错。为什么delete不能自己检测这块内存是否是有效内存呢?操作系统不支持?实现起来应该很简单嘛。恼火的很。

//10:42 2007-8-9 錦天

  不知是不是只有vc编译器才是这样,头文件中添加或者修改注释都要产生重编译,有必要吗?编译器不会自己检查一下修改的代码是什么啊。如果有人仅仅为了减少因为改变代码而影响的文件数目就使用接口的话,我觉得就真BT。这只限于c++编译器,因为C++才分头文件。

  除了与类A有继承关系的类,其他的类只能调用类A的公有函数,所以其他的类也只在当类A的公有方法改变时导致重编译,其他时候不受影响,目前编译器无法解决这个问题。

  既然指针都是机器字大小,每次在头文件中都要使用指针的话,必须在使用前声明这个指针。有必要吗?编译器不会自己默认啊?重复的代码你来维护嘛!这都也是当代编译器的一个小问题。

  或许有更专业的编译器只是我们没有发现而已?

//16:10 2007-8-9 錦天

  一个窗口内部可能发生几个事件,那么是用一个函数还是用多个函数来监听这些事件呢?一个函数监听的话,这个函数内部就要区分各个事件;多个函数监听的话,窗口就要多个管理器。(这里如果我将‘函数’改为‘方法’的话可能有点混淆,所以以后我就用‘函数’)

  这两个方法目前没有很明显的优劣区别。

//17:58 2007-8-9
 
  我越来越讨厌现在的编译器了,一点都不智能,程序员苦命啊!!(别怀疑我GG吃多了哈)

//15:06 2007-8-13

  我终于明白在为什么给类命名的时候要加前缀了(比如class cActor):方便查找。有的时候我们需要使用一个类,但是忘了它的名字了,我们借助编辑器的语法提示可以快速选择,当我们知道这是一个类的时候我们输入c,所有的类就列出来了,而不是从头到尾的找。
 
  这个方法可以用在我们经常需要查找的东西的命名上,类,结构,枚举,成员函数,成员变量,一切的一切。但是一个前提是:他们必须放到一个空间中,这里的空间不是nameplace,而是可以容纳其他类型的类型:类,结构,枚举,命名空间等。

  那么,现在看来可以拟定一套新的命名规则了。这里我拟定了一套,参见“代码命名规则1-0.txt”。

//11:02 2007-8-16
 
  在C++里面,类A继承自类B的内部类C后,类B的所有成员对类C可见,但是仅公有成员对类A可见。也就是说,通过继承内部类,没有打开一个类的可见性。
 
  由于在C++里面可以先声明再实现,那么也可以在类A里面声明一个内部类B,但是没实现甚至没有函数和变量的声明,然后在其他地方再写这个实现。内部类对包含类有无限制的访问权限。
 
  如果使用内部类是为了打开访问权限,可以使用 C++里面提供的 friend 关键字。但是不建议使用这个关键字,也就是说也不建议使用内部类在其他地方写实现,原因是:这个实现体内部无限制访它的包含类或者友元类,使这个内很难维护。但是如果内部类的实现就在外部类的实现中,那么维护问题要小些。任何时候,都不要过分暴露一个类的细节,也不要将一个类分几个文件来实现。
 
  内部类的好处:
    1 隐藏一个类使这个类不被外部访问;
    2 清晰和简化一个类内部的工作(内部类对包含类有无限制的访问权限);
    3 实现多重继承的部分效果(用内部类来继承);