BlogJava-java快速开发 j2ee代码生成-随笔分类-java生产力http://www.blogjava.net/wizwork/category/33074.html专注java生产力zh-cnThu, 17 Jul 2008 14:33:04 GMTThu, 17 Jul 2008 14:33:04 GMT60解放程序员,提高生产力http://www.blogjava.net/wizwork/archive/2008/07/17/215583.htmlwizworkwizworkThu, 17 Jul 2008 13:22:00 GMThttp://www.blogjava.net/wizwork/archive/2008/07/17/215583.htmlhttp://www.blogjava.net/wizwork/comments/215583.htmlhttp://www.blogjava.net/wizwork/archive/2008/07/17/215583.html#Feedback2http://www.blogjava.net/wizwork/comments/commentRss/215583.htmlhttp://www.blogjava.net/wizwork/services/trackbacks/215583.html
一、开发框架。
一谈到java的框架,每个java程序员都可以说出一大堆,web层有struts,webwork(struts2),tapestry,还有实现jsf标准的...,数据库层有hibernate,ibatis。
还有一个spring也风靡java世界。但是每个程序员所钟爱的框架又不一而同,为什么呢,其实是每个框架侧重面不同,而程序员所要做的开发的要求又变化多端,框架不能满足,所以会有这样那样的抱怨。
框架解决了部分开发中的部分问题,但解决的不太全面,比如说我们的大多数开发的主要工作集中在添加、删除、修改、查询等类似的功能上,当然页面可能复杂,可能简单。框架没能解决这类问题。它们解决了类似数据提交、转向、校验、数据存储,查询、ioc,但它们解决的问题是分散的(当然也提供了灵活性),没有整体的打包式的解决方案,我们许多程序员需要在这上面花费很多时间,也有一部分聪明的程序员会通过复制粘贴提高一下生产力,:-)
还有一部分高级的,抽象一下搞个简单的“二级框架”。
总起来说,框架提高生产力的效果还没有非常理想。

二、控件
还有一部分人在努力想办法解决这个问题,他们提出的方案是控件。控件有着明显的优势:封装。程序员只要按照api说明进行调用就行了,easy!但是好多问题也出在封装上面,空间的开发者虽然想近办法让控件可以应付各种需求,但是仍然做不到完美。当需要修改控件才能符合开发要求时,相信每个程序员都会头大,搞不好还有版权,你不能改!
所以控件可以提高部分开发生产力,但解决的也不是非产完美。

三、ide开发工具
开发工具确实帮了我们不少忙,但主要还是集中在代码编辑上面,如setter,getter,重构,还有一部分ide插件可以生成部分代码,很舒服:-)。
在提高生产里方面,ide功不可没。估计现在还在用记事本编写java代码,用commond敲javac编译,java运行的程序员应该不多见了吧。

四、代码生成器
既然上面三种方式都有局限性,不如把它们整合一下,在框架的基础上,开发出优良的通用的代码,然后再将它们分割划分为“控件”,让程序员通过建模像搭配积木似的建立软件的模型,最后生成模型的代码实现。这种方式怎么样呢?因为是生成的代码,程序员有什么不满意的可以去修改生成的代码,不再为修改“控件”而苦恼,代码是基于大家熟悉的框架之上的,每个程序员很熟悉,上手很快。令人苦恼的重复的开发过程:jsp->form->vo->po ->dao->dao impl->service->service impl还有一大堆配置文件,都通过代码生成器生成了,我们程序员这时候可以将精力放在业务逻辑上面,放在如何优化算法等比较有“意思”的部分上了。
会有部分程序员抵触代码生成器,就如同当年的工业革命时期,手工转向机器一样。其实,我们的软件开发的很多领域正像手工劳动一样,是可以通过代码生成器这种机器提高生产力,那我们为什么不试一试呢?

wizwork 2008-07-17 21:22 发表评论
]]>