yake其实没有想象中的好

当我的同事提到yake的时候,我就也跟着去瞅了瞅,发现封装的东西还真不少,boost用的非常多,网络用的asio,脚本是lua,图形肯定是Ogre了,还有零散的数学库,其他还提供了一些辅助的,如fsm和md5等等。

一开始给人眼前一亮,随着我不断的翻阅源代码后才发现,原来只是在Ogre、boost、luabind外面包了一层好看一点的皮而已,就像下面的代码一样:

typedef boost::function<...> yakefn;

 

templete

struct SharedPtr : public boost::shared_ptr

{

SharedPtr():shared_ptr(){}

SharedPtr(T& _t):shared_ptr(_t){}

SharedPtr(T& _t, boost::details::cast _c):shared_ptr(_t, _c){}

}

 

 

看起来好看一点罢了,感觉上好像很怕别人知道你是用的boost库,呵呵。

当然,命名的标准化是一个框架必须的步骤,但这个框架似乎对我们的帮助并不大,因为实现部分太少了,我情愿自己来写这个框架,可以更精简。

 

如果只是这个原因,我还会考虑使用yake,但是我对yake还有一些不满意的地方:

1、数学库形同虚设,除了矩阵乘法动用了SSE以外,其他的一律是C++编码,而我最需要的矩阵求逆的SSE它没有,这样的话还不如用自己的数学库。

2、命名上不是很理想,甚至有点糟糕,可读性有问题。

3、状态机的利用率不够,没有充分的通用化。

4、给asio来了层封装,却越高越麻烦,最后直接看不懂了,我要这么多别名干嘛?直接用asio好得很。

5、大量的例子编译没通过,可能是我太菜了吧...

你可能感兴趣的:(生活与感想,学习过程,框架,脚本,图形,lua,网络,c)