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
本文可原封不动的拷贝和自由地再发行,但在拷贝和再发行的拷贝中必须
原封不动地含有这段版权声明。