曾经有一段时间,我非常地苦恼,那就是如何提高自己的代码健壮性?难道,除了单元测试就没有别的办法了吗。这一问题困挠了我很久。直到最近才有了一丝眉目。作为整个完整的项目来说,它涉及到的不可控因素很多。而对个人来讲,困难的东西也很多,但是还是有很多办法可以提高个人开发效率的方法的。比如说,建立自己的代码库就是不错的一个办法。采用已经经过测试的方法,可以在短时间达到提高效率的方法。
(1)建立自己本地的函数库代码
构建代码库是最基本的一个方法。比如说,如果对算法比较熟练,可以在本地创建一个基本的函数库代码。这些代码可以包括常用的一些基本算法和数据结构,比如说链表、栈、堆、二叉树、排序算法、查找算法等等。注意,这些代码只要自己用得顺手就可以,至于短时间能不能为别人通用,那就是后话了。
(2)创建跨平台的代码库
现在,我们需要的代码常常需要实现跨平台的功能。因此,我们可以在本地构建一些基本的跨平台函数,比如说内存访问、线程互斥、文件操作、网络操作、数据库操作等等。当然,其他的因素比如说字节序、字节序也要进行考虑。因为构建本地跨平台的代码库是一项长期的基本工作,但是一旦做好了,不但可以提高自己最代码的理解能力,还能有效地提高自己的开发效率。
(3)对已经存在的业务模块进行抽象和提炼
不可否认,我们现在的很多工作具有很大的重复性,那我们是否可以将业务进行提炼处理,抽象出一个基本的架构模块。独立出来的模块可以安排一个编译宏,如果模块本身没有支持,那么完全可以不让它参加编译。经过提炼出来的模块,不但可以具有很大的拓展性,而且在健壮性上面也会有保证。
(4)多使用开源库代码
很多时候,我们使用开源库代码,不代表相应的代码我们自己没有办法写出来。只是因为效率和时间的问题。如果业界对此已经有一个比较公认和权威的代码,那我们自己实在是没有必要重复造车轮子。这方面的代码很多了,比如说lua、webkit、ffmpeg、zip、libpng、libjpg、lwip、ucos、sqlite、ftgk等等。只要我们对这些代码进行测试了,那么为什么别人的代码不能为我们所用呢?
(5)保存和改进自己的练习代码
很多人都有一个不好的习惯,当然也包括我在内。那就是,我们不注意积累平常自己的练习代码。等到一段时间之后,就会发现自己曾经确实练习过这样的代码。可是原来的代码早已经不存在了。保存原来的代码,让我们的工作可以建立在一个更高的起点上面,同时节约了时间。现在的移动硬盘这么便宜,放几十兆或者上百兆的代码,我想应该是没有什么问题的吧。这总比dota、qq飞车、nba、实况足球、仙剑奇侠、天下、天龙八部的空间要少吧。