首页 / 技术类 / C++ / 小库还是大库?

小库还是大库?

2009-09-24 21:30:00

使用,就把那几个文件拷到当前项目来使用。然后一个个这样的互不依赖的功能模块构成了我现在所拥有的库。

第二种做法呢,就是我把这个库作系统的规划,划分为很多小的功能模块,这些功能模块可能会彼此依赖,当库庞大以后,甚至连你自己都该不太清楚谁依赖谁了。要使用这个库的功能,就必须把整个库拿进来。到最后,我将这整套东西编译为一个 .lib,这个 .lib 的源程序会一直维护下去。但使用的时候,我就拿编译好的 .lib 来用。

前一种做法就是标题里所说的小库,后一种做法我称之为大库。我的问题是,作为个人的积累,小库好还是大库好?如果可能,我是比较喜欢小库的。但是,经常会有这样的问题,各个功能模块中可能会涉及同一个基础功能,而这个基础功能我已经做过了的,到底是用还是不用?如果用,“互不依赖”就会被打破,最终会发展成一个凌乱的大库;如果不用,我必须把代码抄一遍,那么这两份完全一样的代码在以后同步更新就比较麻烦了。再说大库,一个规划的很好的大库也是不错。但是前期积累的时候,往往没法规划;就算等到有一定的积累了以后再来积累,也会在模块组织上犹豫不决:我到底要不要来一个统一的 typedef 作为我的类型系统?当我实现了 MyVectorMyString 以后,我的后续代码势必都会使用它们,那么与别人之间的代码交流就成了问题了。

我最近一直困惑于这个问题。而我本人对此的理解也就如上文所述。希望有朋友指教、赐教。谢谢~~!


首发:http://www.cppblog.com/Streamlet/archive/2009/09/24/97162.html



NoteIsSite/0.4