软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
复用- build for last

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

by Zhang Hui

去年有一本书,英文名叫build for last,中文名应该是"基业长青"
这句话反映到软件上就是"复用"
虽然最初人们的理想"软件IC"看来是很难实现了,但是,"复用"的思想还是在我们的生活中时时处处体现着.

普遍的形式是copy+paste,然后修修改改.高档一点的形式是Net等基于二进制的复用.具体到我们个人,如果我们写代码的目标不是"能转就行",那么我们应该瞄准"复用",基于这个目标,我们思考软件的写法会有差异.

如果我们希望,自己的code能被别人以copy+paste的形式复用,那么至少因该清晰,简洁,有适当的注解.

如果我们希望自己的code能别人以类库的形式复用,那么应该保持接口的清晰,功能完整,并且各个接口测试充分.最好有相应的sample code.

至于各种各样的基于二进制上的复用,如unix下的small & sharp的工具理念和Net的想法,都需要具体的平台支持,已经超出个人所能干预的范围,这里就不说了

练武的人常说境界,编程也一样.
层次一:会用C++等OO语言编出面相对象的软件
层次二:能写出封装严谨,接口完善的类库,这是一个人说"我掌握了面相对象思想"的基本条件
层次三:理解Frame Work,能解析流行的Frame Work, 最好能写出MFC Lite和VCL Lite.候捷,3721的CEO据说都能做到这个层次.普通的人,能努力做到层次三就很不错了.
层次四:当然是设计Frame Work了. MFC, VCL, 以及Emacs的作者无疑都是具有这方面功力的人
更高的层次我目前还看不到,就不造次了.

只为了写出"能转"的程序,那么你只是以写程序谋生

能主动去写可以复用的软件,那么你有更高的精神追求.

如果说一个物的生命价值在于它所能惠及的范围和时间,那么,程序员,如果你珍惜自己的职业生涯的话,就请不断追求更高的"复用"层次吧.

=======================================
版权所有 \copyright 张辉 2003
本文可原封不动的拷贝和自由地再发行,但在拷贝和再发行的拷贝中必须
原封不动地含有这段版权声明。
http://forestsong.blogone.net




相关文章

相关软件