不要重复发明轮子:C++重用的5重境界(1)——代码重用
来源:互联网 发布:条形码制作软件 编辑:程序博客网 时间:2024/05/16 09:11
软件领域有一个著名的描述软件重用的谚语:不要重复发明轮子!
这个道理是很简单,也很明白的,谁都不想重复无用的劳动,但具体实践中我们该如何避免重复发明轮子呢?
各位注意了,谚语中是说“重复发明”,不是说“重复使用”,也就是说我们实践中其实也是避免不了重复使用轮子的,因此实践中我们的对策也可以用一句简单的语句表达:发明能够重复使用的轮子!
下面我们就以C++语言为例,看看究竟如何“发明重复使用的轮子”。
第一重境界:代码重用
最简单的当然就是代码重用了:写一段公共代码,然后放到各个项目里面去编译。
这种方式最直观,但如果你真的在实践中如此应用,那么将面临如下问题(假设3个项目共用):
1)一份代码,三份拷贝
因为采用的是代码编译,所以一份代码在存储时会占用3份的磁盘空间,在运行时会占用3份的内存空间。
当然在现在这个磁盘空间动不动上100G,内存动不动上G的年代,可能大家对这种浪费不以为然,但是回过头去看看历史,如果在你的内存只有32M的年代,这种浪费就不一般了,将会对系统产生很大影响。
2)一次修改,三次编译
假如某一天这份代码修改了,也许是一个小小的BUG,也许是一点小小的优化,但最终的结果都是一样的:所有用到这个公共代码的项目都需要重新编译。
对于普通的小程序来说,编译可能是几秒到几分钟的事情,功能验证也很简单,编译问题看起来还不是很严重;但如果是企业级、电信级的程序,这种编译加验证的工作量是巨大的,而且要部署到已经运行的系统中时,可能需要卸载安装。
========未完待续,后面更精彩===========
- 不要重复发明轮子:C++重用的5重境界(1)——代码重用
- 不要重复发明轮子:C++重用的5重境界
- 不要重复发明轮子:C++重用的5重境界(2)——简单DLL
- 不要重复发明轮子:C++重用的5重境界(3)——代理接口DLL
- 不要重复发明轮子:C++重用的5重境界(4)——继承接口DLL
- 不要重复发明轮子:C++重用的5重境界(5)——消息通信(完结篇)
- 请不要重复发明轮子
- 对OOD的几点理解——不要去重新发明轮子
- 几个常用的JAVA类(坚持“不要重复发明轮子”的原则,留着重用)
- 轮子还是要重复发明的
- Cell的重用代码
- c++的代码重用
- UITableViewCell的重用代码
- Cell的重用代码
- c++的代码重用
- Cell重用重复的解决方法
- 代码重构-------ListView与GridView的适配器重用篇
- 第14章——C++的代码重用
- 三十岁前要读的几本国学的书
- 扫盲:中国人不可不知的实用知识
- 屏幕,保护眼睛的设置
- HTTP协议报文格式
- 如何架设PHP服务器
- 不要重复发明轮子:C++重用的5重境界(1)——代码重用
- 苏州用友软件T3、T6解决方案
- 不要重复发明轮子:C++重用的5重境界(2)——简单DLL
- 不要重复发明轮子:C++重用的5重境界(3)——代理接口DLL
- 从一道笔试题谈算法优化(下)
- 0410
- 82版《西游记》“沙僧”闫怀礼病逝 享年73岁
- exit函数使用造车内存泄漏问题
- 感想1