代码改变世界

论程序的成长—— 你写的代码有生命力吗?

2007-05-10 20:01  金色海洋(jyk)  阅读(855)  评论(0编辑  收藏  举报
做了五年多的程序员了,回过头来看了看以前发的一些帖子,颇有一番感想。

我最得意的就是对数据访问的处理方法(我的数据访问层),倒不是说他有多么的强大、多么的完善,而是说他本身是在不断地“成长”,一直都没有死掉。

什么叫做死掉呢?

这是在和一个网友的交谈中感觉到的。他一开始访问数据库也是用的自己写的方法(函数),和我的思路也基本差不多,但是当他遇到SQLHelp 后感觉自己写的没有SQLHelp 好,于是就放弃了自己的代码,转而使用SQLHelp 了。这就是代码死掉了。我觉得放弃了很可惜。

我也遇到了同样的问题,我也是先写的自己的访问数据库的函数,但是当我遇到SQLHelp 后,并没有放弃我自己写的函数,而是修改我自己的函数,让她更加的强大!这就是代码的成长!

为什么要说这些呢?触类旁通。这里并不是说一定要用自己写的函数来访问数据库,而是说的这种思维方式。

自己的东东尽量不要让他死掉,而要尽量地吸收新鲜“血液”让他更强大!


=====================

在来说一下项目。

当你做完了甲项目后,再做乙项目,你会怎么做呢?(假设甲、乙两个项目类似)。

你能不能让乙项目“继承”甲项目的优点?

继承有两个方面,一个是思路方面的,一个是代码方面的。

思路方面是不是可以叫做模式(也许叫做架构)呢?用甲项目的成功经验(设计思路和方法)来设计乙项目。

代码方面就比较多了。

比如在写乙项目的时候,要实现一个功能,这个功能已经在甲项目中很好地实现了,那么您会怎么做呢?

1、把甲项目里的对应的代码copy过来,然后改一改,OK。

2、抽象一下,抽象出来一个函数(类),在乙项目中调用。

对于不同的“通用”级别可以作不同的处理,如果是在所有项目里都通用的话,可以编译成单独的DLL;
如果是项目内容用的话,可以放在单独的.cs文件里面,当然也可以编译成单独的DLL;

实现了这些还不够,这只是继承,只是单方向受益。

在写乙项目的时候又学习了一些新的技巧,可以提高效率,而且这种方法不仅适合乙项目,而且对宇甲项目也是适用的,那么乙项目写好了之后,会不会应用到甲项目?

1、不会修改甲项目。因为甲项目运作得很好,没有必要改(或者是其他的原因)。那么甲项目就“死掉”了,因为他没有及时地更新。

2、会修改甲项目,但是修改起来很费事,而且很可能造成bug。虽然很想修改,但是往往最终会放弃。

3、可以很方便的修改,只替换一个DLL,甲项目就升级了。

如果能做到第三种情况该多好哇!

这样收益就是双向的,甲的优点可以让乙受益,反过来这个优点在乙中得到了提升之后又可以让甲也受益。

这样就是一个良性发展了。

在实际的项目里能不能做到这一点呢?我想是可以的吧。





2