软件工程
文章平均质量分 65
guocongbin
这个作者很懒,什么都没留下…
展开
-
一个c++单元测试的小想法
???????? 在python中,每个模块都有一段自测试的代码,虽然不是强制的,但是推荐这样,我觉得这样很好???????? 这样每个模块都附带一个(或者多个)用例,方便别人验证???????? 而且我想:这样的技术在C++也是比较容易实现的!???????? //*.h file ???????? class declarations...???????? //*.cpp file原创 2004-08-11 14:49:00 · 1118 阅读 · 4 评论 -
AIX上配置cvs服务器
关于如何配置cvs服务器,网上的文章一般都是针对Linux。Linux和Unix很类似,所以在Unix上面配置cvs服务器的方法和在Linux差不多,但是也有一些特殊的地方需要注意。下面我以AIX5.2为例说明一下特殊的地方。安装你可以到http://www.gnu.org/prep/ftp.html下载cvs服务器。我下载的是cvs.1.11.21.tar.gz,放到根下解压,解压的文件之间原创 2006-04-14 20:06:00 · 1942 阅读 · 0 评论 -
一个可以自动更新依赖关系的makefile
一般编译器都可以产生cpp文件和头文件之间的依赖关系,对于gcc可以使用如下的命令: gcc -MM sourcefile.cpp产生的结果可能如下: sourcefile.o: sourcefile.cpp header1.h header2.h利用这个功能,我们就可以编写一个可以自动更新依赖关系的makefile,具体如下:文件AutoMakeCore:# this file is原创 2005-09-10 22:54:00 · 1877 阅读 · 0 评论 -
c++中singleton模式的一种实现方法
#includeclass test{ static test* pInstance; protected:public: test() { if(!pInstance){ pInstance = 0; } printf("test init/n"); } void* operator new(unsigned int size) { if (!pInstance){ pIn原创 2005-03-10 18:11:00 · 953 阅读 · 0 评论 -
使用cvsnt中遇到的一个问题
不知道这是不是cvsnt的一个bug:如果cvs的仓库文件夹和工作文件夹在同一个盘上的时候,就无法为这个工作文件夹创建在仓库中创建新模块(显示无法访问仓库文件夹)。如果把仓库文件夹放到另外一个盘上就可以正常创建模块了。原创 2004-11-17 15:38:00 · 938 阅读 · 0 评论 -
面向对象设计的原则
单一职责原则(SRP) 就一个类而言,应该仅有一个引起它变化的原因。 开放-封闭原则(OCP) 软件实体应该是可以扩展的,但是不可修改。 Liskov替换原则(LSP) 子类型必须能够替换掉它们的基类型。 依赖倒置原则(DIP) 抽象不应该依赖于细节。细节应该依赖于抽象。 接口隔离原则(ISP) 不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。 重用原创 2004-11-01 14:12:00 · 974 阅读 · 0 评论 -
利用ANTLR生成C++描述的分析程序
摘要ANTLR(ANother Tool for Language Recognition)是一种基于LL(k)文法的语法分析程序(以下简称分析器)生成工具。其生成的分析器默认使用Java描述,而不是更高效的C++。本文介绍了在Windows平台下,借助VC6.0进行组织工程,使用ANTLR生成C++描述的分析器的方法,并给出了一个实例。最后,本文对ANTLR本身做出了一点小小的改进。关键字ANT原创 2004-09-27 13:22:00 · 3537 阅读 · 3 评论 -
windows下架设cvs服务器的方法
其实很简单,只需要下载一个cvsnt。我下载的版本是2.0.46,现在的最新版本应该到了2.0.51dcvsnt的配置very easy,选一个文件夹作为仓库就行了如果希望在linux下面配置cvs服务器,那还是找本书看吧cvsnt的主页是www.cvsnt.org至于Windows下的客户端,我推荐使用tortoiseCVS——非常好用的客户端,和资源管理器集成在一起,一眼就可以看出每个原创 2004-08-26 22:18:00 · 4548 阅读 · 1 评论