我是程序员

来源:互联网 发布:java构造器的例子 编辑:程序博客网 时间:2024/04/27 17:51

        相比于写代码,我更喜欢写能自动产生代码的生成器,和许多人一样,我讨厌写重复的代码,这种重复包括字面的重复和结构的重复、还有思想的重复。

        在日常的开发过程中,一旦我发现一种需要经常使用的元素(类/结构/方法),我就将它整理出来,所谓整理主要是做这样的工作:重构、最大限度降低这个元素与其它元素的耦合性、最大限度地扩展该元素的适用范围、精简算法。然后将整理得到可复用元素按照其类别存放于我的类库中。至今,这个类库(即EnterpriseServerBase)中已经包含有上百个类了,涉及到应用开发的多个方面。这套类库中,我最感自豪的是数据层(XCodeFactory自动生成的数据层代码便是以此为基础)和网络部分的封装。

已经养成了一个习惯,在写一个组件之前,喜欢先定义这个组件的接口。今天重新审查EnterpriseServerBase中很久以前写的一些类,发现有些类比较复杂,而这些类也没有接口,要完整了解这些类的意图,还真需要花上一点时间。在理解之后,我将接口抽离出来,通过这个接口,我们就可以一览这个类的全貌。是的,我们应该为绝大多数(如果不是所有)需要复用的类定义一个接口,哪怕仅仅是为了以后我们能更快地读懂这个类。何况,定义一个接口,我们以后就可以更换这个接口的实。所以,我通常把前述的拥有接口的类称为接口的“参考实现”,比如MessageSplitter类是IMessageSplitter的参考实现,IMessageSplitter用于将从网络接收到的二进制流分裂成一个个完整的消息,如果你有更好的方法实现这个目的,你当然可以自己编写一个XMessageSplitter,而不必被迫于使用我那个可能是糟糕的MessageSplitter参考实现:)

不要指望一次写出最优秀最适用的组件(类),因为有很多内容一开始并不能全部考虑到,关于这个组件(类)的很多其它需求都是这个组件在实践、在不断的被使用的过程中发掘或发现的,这个时候,你可能需要修改前面的设计,来更好的适应新的需求。重构,此时就是你最大的法宝。我喜欢重构!一旦发现代码或设计有了坏味道,我就即刻开始重构――即刻,而不是推迟到明天。如果没有重构,一个组件的生命力肯定难以长久,除非这是一个非常简单的组件。正是因为有了重构,EnterpriseServerBase类库才会成为我开发的得力助手,我参与的任何一个项目都有EnterpriseServerBase的影子,我每天都使用它,甚至几乎每天我都会重构EnterpriseServerBase中的某些代码,或加入新的类。EnterpriseServerBase中的每一行代码都是我自己亲手所写,它就像我自己的孩子一样,在我的细心呵护下健康成长,而EnterpriseServerBase也给予了我最大的回报――那就是我工作效率的不断提升,这不仅仅表现在能在很短的时间内完成任务,而且能保证质量,因为EnterpriseServerBase中的每个类都曾经经历或正在经历实践的检验。

每个优秀的开发人员都应该积累一套自己的类库!

如果说EnterpriseServerBase类库是我的第一个孩子,那么XCodeFactory就是我的第二个孩子。我已经在blog上开辟了XCodeFactory FAQ的专栏(EnterpriseServerBase的专栏也会在后面推出)。我要向所有的朋友、所有的.NET开发人员推荐XCodeFactory,因为这是一个很实用的代码生成工具,而且生成的数据层代码功能强大,它可以使开发人员完全绝对地从数据层解脱出来。我这样极力推荐,并不是想获取任何好处,XCodeFactory完全免费,而且我会一直提供技术支持。如果说将XCodeFactory推荐给大家有任何目的的话,那么目的就只有一个,那就是XCodeFactory的确太有用了,我希望这么好(如果不是优秀)的工具能帮助更多的一线开发人员。因为我也是一线的开发人员,在以前的项目中在数据层吃过不少苦头,我希望后来者能通过XCodeFactory来避免这些类似的苦头,而把更多的精力放在对优秀设计的思考和对业务的分析上面,而不是在需要加一个数据库表或修改一个表中的字段时,要花上个大半天。

通过我的blog和我收到的email看来,现在使用XCodeFactory的人并不多,我想主要原因是我对XCodeFactory的介绍还不够清楚,但请你相信,这绝对不是XCodeFactory的问题,而是我表述能力和介绍能力的问题。你也许会提到更愿意使用NHibernate,如果你已经对NHibernate的使用非常熟练了,那当然没问题。但如果你以前没有接触过任何ORM的工具,那么我觉得XCodeFactory更好用――据我的不精确估计,XCodeFactory的使用难度只有NHibernate1/5,而功能却有NHibernate4/5。对于绝大多数(如果不是所有)的应用,XCodeFactory绝对足以对付。在我的Blog上已经贴出了一篇“XCodeFactory2.0完全手册(上)”,后面我会把中、下集整理出来,希望对大家了解和使用XCodeFactory有所帮助。

如果你对XCodeFactory有点兴趣,那么就在你的项目中尝试使用它来做你的助手吧,如果使用的过程中有任何不爽,就通过email或到我的blog上来骂我。我相信,XCodeFactory一定不会让你失望的。

呵呵,写了这么多,真是像在为XCodeFactory做广告,也确实是,我想把这个让我欣慰的孩子介绍给更多的人嘛!

我是程序员,专著于C++.NET、架构模式等技术,这是我的bloghttp://blog.csdn.net/zhuweisky),这是我和其它程序员交流的地方!

 

 

原创粉丝点击