这一周继续在看OWL的代码,感觉,唔怎么说呢~还是有点难懂~不过里面包含了很多很多的模式,因为一大特点就是有非常多的类,大概有60个左右吧,这是运用了模式最大的特征;还有一个就是里面的继承关系并不复杂,主要还是利用组合来代替继承,这也是Design Pattern里面一直强调的~但是这可能造成读起来比较困难,除非对所有类之间的关系有着比较清楚的认识,把类图都画出来~像我就一直纠结于什么时候添加事件处理程序,什么时候把消息路由出来等等架构上的问题,但是又不能总是打扰Troy~来公司10周,感觉阅读代码的能力提高了好多。以前阅读别人写的代码最多仅限于一小段算法的实现,整个程序的架构什么的都没有经历过。CSDN上以前有一个人写过什么xxx源码剖析,结果全是一行一行地分析人家代码在干嘛,这个本事连初中生都会了。。。现在我有经验了,知道了看代码应该先从功能入手,再扩展到整个的架构。而看代码是怎么实现一个功能最好的就是先大概浏览一遍代码,在不太清楚的地方加上断点,然后调试一遍,整个过程就可以了然于胸了。之前看Janus,现在看OWL都是采用这样的方法,感觉还不错~=D然后就是代码的书写风格和水平了。这时候注释的作用就体现出来了,很多时候对于一个函数的命名,两个人可能就有两种理解,这时候要是有关于这个函数哪怕是一点点的summary,都可以让后来人很容易地知道它是干什么的。Troy还曾提过一点就是他一直没有时间写文档。如果阅读代码前有任何关于这个软件的文档,应该首先浏览一遍,文字永远比代码清晰。
至于代码,因为有了Troy的讲解和原来我的Demo再加上自己的理解,虽然刚开始的时候很痛苦,常常不知道要怎么写下去,但是参考一下其他做同样事情的类的写法,还是很容易的就写出来了。本来Troy让我先写录制再写回放,我却先把回放写好了,看着OWL自动播放我的脚本,哇,那种成熟感真是帅呆了~很多程序员都是因为看到自己写的代码跑起来很有成熟感而不断坚持并且获得动力的吧,这个是我们的精神来源啊~

最近评论