在<<SolidMCP开篇>>中我给自己定下了一些目标,看看这段时间我都干了些什么:
>> Blog,Docbook和Doxygen Style comments
早已开始实践。
>> 完善Win32/Win64的Debug/Release配置。
Done: BedRock。
此外,还开始做一些跨平台开发的尝试,现阶段还只是在Code::Blocks中导入Visualstudio Solution后用GCC来编译编译,错误不少啊。 >>
现在碰到的问题是一些3rd parties还没有除了debug 32bit之外的build,比如OpenSSL,QT等,而这些是进一步的工作的前提所在。
>> 从文件夹结构更清晰突出SDK与Internal Implementation
尽量利用pImpl模式来实现一些重要的接口类。
SDK属于Public的部分,原则上所有的类与方法都应该是public和Exportable的。
而Backyard部分,顾名思义,就是Internal的,所有的Implementation类都应该放到这里。
这样做,有利于以后隐藏实现、改善二进制兼容和编写Clean code的意图。
---------------------------------------
---------------------------------------
>> UnitTest / Behavior Test
另外,之前iTest/iTry的良好习惯还要继续,他们也应该放到Backyard,因为他们大多数是对内部Class或者信手拈来的测试。
除了TUT,Piaoger还把igloo这个BDD测试框架嵌入到我的BedRock,这样的话,可以做一些Workflow方面的测试实践。对于igloo的应用有待展开。。。。
为什么不用gtest/gmock,无它,SolidMCP本来就是Piaoger用来把玩的东西,他们太大,又不是Header only的,麻烦。
>> Source Control
由于对Python的偏好以及Bitbucket支持private/public repository随意切换,又是Atlassian家的东西,所以虽没有GitHub那般风头正劲,最终还是选择了这玩意。
也着实好好感受了一把分布式版本控制系统(DVCS)的魅力,而龟公TortoiseHg用起来也挺顺手,基本没什么障碍,把玩几下就上手了。
我的SolidMCP还是先藏在这里吧,还会建一个project wiki,乱七八糟的东西,都往哪里塞。只是不知道放些电子书上去,会不会被封了帐号。
呵呵,再不怕把东西都掉了,惟愿它不会被“即艾弗达不留”了。
>> Build System
关于这个东西,一直还在CMake和Scons之间徘徊,也尝试着做了两个helloworld,各有短长。估计最后还是会使用Scons的吧。
之后会有一篇文章谈谈CMake和Scons的。
>> Domain-Specific知识
一如既往的欠缺,搞了一阵子Graphics,只是最近忙于QT的项目,没什么进度了。