论坛首页 入门技术论坛

最近开发了一套代码生成工具。

浏览 43322 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-03-06  
esk_erp 写道
我也做过类似的工具,可以说这种工具非常有用的.
对于一个简单的增删改查模块,确实能减少很多的时间.

有例子为证,我做的一个产品,只用了短短两个月时间.功能还是很多的.
为了避免广告嫌疑,不贴出演示地址.

我和楼主的思路大致类似,从powerdesign中读取数据,通过模板文件,生成jsp,action,manager,配置文件.
一些JS验证也可以完成的.因为,大多数的模块功能基本相同,只是字段不同而已. 即便是资源文件,也可以很容易生成.


我也有写过代码生成器,我的思路是用fmpp 从powerdesign中的物理模型文件直接提取数据,再结合freemarker模板,来生成相应代码,效果还是挺好的。在固定的框架下,确实是有很多帮助。

且模板编写很简单。并且能用于其它语言项目的生成。
目前我是用php的,来生成zend framework框架的代码。


0 请登录后投票
   发表时间:2008-03-06  
我也一直在写一个GUI代码生成器,但是我的生成器是基于liferay这个框架的,读取数据库表结构生成一些portlet的CRUD,和一些不需要数据库的portlet。
0 请登录后投票
   发表时间:2008-03-06  
惊鸿逝水 写道
abcx 写道
如果你认为企业应用就是面向数据库的CRUD,如果你认为设计的成果就是建一些数据库表,那就做你的代码生成器吧。


呵呵,只是建表? 我还真没见过这么简单的所谓代码生成器?
从另一个角度来说,很多Eclipse Plugin就是代码生成器,它有一套完整的UI体系和模板功能!这些也是所谓的“垃圾”吗?

另外,我并不认为所谓的“企业级”的应用逻辑有多么复杂,诸如银行、电信系统,大多功能模块是做管理维护,只有一些核心处理模块,才需要非常严密的逻辑处理,如业务流程的自动化,规则的自动匹配,分析统计等等

要指出的是,代码生成器生成的代码并不意味是重复代码!


我说的是现在很多系统设计的最终产物就是一堆数据库表,不是说用代码生成器生成表。
至于你说的Eclipse plugin,我觉得意义并不大,顶多算一个过渡解决方案,不要说plugin了,看看JBuilder,当初对struts 1和EJB 2支持很好,代码生成相当好,但又有什么用呢,框架的升级直接导致代码生成器无用武之地,因为框架是high level的,而代码生成器却试图在low level层面上去解决问题。

所谓的人性化和逻辑严密,就是要深刻分析业务需求才能做到人性化,逻辑严密是指重视系统的设计,在设计层面尽可能多地解决问题,系统是一个有机的整体,而不是分散在各处的CRUD。
0 请登录后投票
   发表时间:2008-03-06  
abcx 写道

我说的是现在很多系统设计的最终产物就是一堆数据库表,不是说用代码生成器生成表。
至于你说的Eclipse plugin,我觉得意义并不大,顶多算一个过渡解决方案,不要说plugin了,看看JBuilder,当初对struts 1和EJB 2支持很好,代码生成相当好,但又有什么用呢,框架的升级直接导致代码生成器无用武之地,因为框架是high level的,而代码生成器却试图在low level层面上去解决问题

所谓的人性化和逻辑严密,就是要深刻分析业务需求才能做到人性化,逻辑严密是指重视系统的设计,在设计层面尽可能多地解决问题,系统是一个有机的整体,而不是分散在各处的CRUD。


我很同意ls的说法,如果要保持和框架一样的发展速度是太耗力气了。
0 请登录后投票
   发表时间:2008-03-06  
hfwguitar 写道
abcx 写道

我说的是现在很多系统设计的最终产物就是一堆数据库表,不是说用代码生成器生成表。
至于你说的Eclipse plugin,我觉得意义并不大,顶多算一个过渡解决方案,不要说plugin了,看看JBuilder,当初对struts 1和EJB 2支持很好,代码生成相当好,但又有什么用呢,框架的升级直接导致代码生成器无用武之地,因为框架是high level的,而代码生成器却试图在low level层面上去解决问题

所谓的人性化和逻辑严密,就是要深刻分析业务需求才能做到人性化,逻辑严密是指重视系统的设计,在设计层面尽可能多地解决问题,系统是一个有机的整体,而不是分散在各处的CRUD。


我很同意ls的说法,如果要保持和框架一样的发展速度是太耗力气了。

首先把lisp的运行能力再提高些...
0 请登录后投票
   发表时间:2008-03-06  
又不是所有人都在写框架...
想想新进的员工,想想底层开发人员...
再优秀的框架你能消除繁琐易错的配置文件,毫无技术可言的重复代码吗?
再时髦的语言就不存在冗余和重复了?
如何找到一个结合点是关键。适度是原则。
激发了讨论就说明代码生成必然有市场...
0 请登录后投票
   发表时间:2008-03-07  
支持楼主  我自己写的代码生成器已经用了好几年了(中间也改版过) 开发速度不是别人可比的 ....   代码生成器 是生成基础代码的 别想着业务代码也能生成   对于反对的  做自己的事让他们反对吧 ....    别人一个月的活你一个星期就能做完 不爽么 ...
0 请登录后投票
   发表时间:2008-03-07  
我还是比较喜欢notepad上直接写
0 请登录后投票
   发表时间:2008-03-08  
不知楼主,你的工具生成代码的效率如何,毕竟这种东西,代码的优化是非常重要的一部分。
0 请登录后投票
   发表时间:2008-03-09  
想不到这个帖子挂了一周,竟有这么多的留言,非常感谢大家的建议,在这里支持代码生成工具和不支持代码生成工具的人都有,我想说的是,我的生成工具是在有稳定的技术框架和页面标准的基础上的。我们公司的框架是hibernate+spring+webwork.
生成工具通过pojo和pojo的注释来生成一系列的框架代码,包括前台,后台,和配置文件,
那么目前我结合框架和标准定制了四种模板,1.单表 2 树型+单表 3.主从表 。 4.树型+主从表,
那么就会分别会生成不同形式的代码。

当然数据源除了pojo之外,还可以通过数据表,xml文件,json来做数据源。
我很想上传图片,但不知道是不是我们公司的信安有设置,不能上传附件。
所以只能在这里做文字说明。

目前我的生成工具已经试用了一周,对于业务比较简单的模块,一天开发4个模块,
而且质量还是比较高的,

我还调查了下开发人员,主要是在界面方面是节省了他们很多工作量的,后台没什么大的变化,因为后台的代码框架这一块封装的已经很好了,有了生成工具,做界面上省去了很多调整界面,和做验证的工夫。

目前他们开发的步骤是:
1.通过设计文档先写好pojo。
2.通过pojo来生成一个人机操作界面,可以完善信息,比如中文名称,是否做为查询条件,是否在列表页面显示,是否在编辑页面显示等等
3.生成代码,jsp代码和java代码可以自动拷贝到你的工作目录。配置文件要手动拷贝(因为可能一个配置文件里面是要放不同模块的)
4.编译java代码,重启应用服务器,配好菜单资源。

大概这个时间是1个小时。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics