锁定老帖子 主题:最近开发了一套代码生成工具。
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-06
esk_erp 写道 我也做过类似的工具,可以说这种工具非常有用的.
对于一个简单的增删改查模块,确实能减少很多的时间. 有例子为证,我做的一个产品,只用了短短两个月时间.功能还是很多的. 为了避免广告嫌疑,不贴出演示地址. 我和楼主的思路大致类似,从powerdesign中读取数据,通过模板文件,生成jsp,action,manager,配置文件. 一些JS验证也可以完成的.因为,大多数的模块功能基本相同,只是字段不同而已. 即便是资源文件,也可以很容易生成. 我也有写过代码生成器,我的思路是用fmpp 从powerdesign中的物理模型文件直接提取数据,再结合freemarker模板,来生成相应代码,效果还是挺好的。在固定的框架下,确实是有很多帮助。 且模板编写很简单。并且能用于其它语言项目的生成。 目前我是用php的,来生成zend framework框架的代码。 |
|
返回顶楼 | |
发表时间:2008-03-06
我也一直在写一个GUI代码生成器,但是我的生成器是基于liferay这个框架的,读取数据库表结构生成一些portlet的CRUD,和一些不需要数据库的portlet。
|
|
返回顶楼 | |
发表时间:2008-03-06
惊鸿逝水 写道 abcx 写道 如果你认为企业应用就是面向数据库的CRUD,如果你认为设计的成果就是建一些数据库表,那就做你的代码生成器吧。
呵呵,只是建表? 我还真没见过这么简单的所谓代码生成器? 从另一个角度来说,很多Eclipse Plugin就是代码生成器,它有一套完整的UI体系和模板功能!这些也是所谓的“垃圾”吗? 另外,我并不认为所谓的“企业级”的应用逻辑有多么复杂,诸如银行、电信系统,大多功能模块是做管理维护,只有一些核心处理模块,才需要非常严密的逻辑处理,如业务流程的自动化,规则的自动匹配,分析统计等等 要指出的是,代码生成器生成的代码并不意味是重复代码! 我说的是现在很多系统设计的最终产物就是一堆数据库表,不是说用代码生成器生成表。 至于你说的Eclipse plugin,我觉得意义并不大,顶多算一个过渡解决方案,不要说plugin了,看看JBuilder,当初对struts 1和EJB 2支持很好,代码生成相当好,但又有什么用呢,框架的升级直接导致代码生成器无用武之地,因为框架是high level的,而代码生成器却试图在low level层面上去解决问题。 所谓的人性化和逻辑严密,就是要深刻分析业务需求才能做到人性化,逻辑严密是指重视系统的设计,在设计层面尽可能多地解决问题,系统是一个有机的整体,而不是分散在各处的CRUD。 |
|
返回顶楼 | |
发表时间:2008-03-06
abcx 写道 我说的是现在很多系统设计的最终产物就是一堆数据库表,不是说用代码生成器生成表。 至于你说的Eclipse plugin,我觉得意义并不大,顶多算一个过渡解决方案,不要说plugin了,看看JBuilder,当初对struts 1和EJB 2支持很好,代码生成相当好,但又有什么用呢,框架的升级直接导致代码生成器无用武之地,因为框架是high level的,而代码生成器却试图在low level层面上去解决问题。 所谓的人性化和逻辑严密,就是要深刻分析业务需求才能做到人性化,逻辑严密是指重视系统的设计,在设计层面尽可能多地解决问题,系统是一个有机的整体,而不是分散在各处的CRUD。 我很同意ls的说法,如果要保持和框架一样的发展速度是太耗力气了。 |
|
返回顶楼 | |
发表时间:2008-03-06
hfwguitar 写道 abcx 写道 我说的是现在很多系统设计的最终产物就是一堆数据库表,不是说用代码生成器生成表。 至于你说的Eclipse plugin,我觉得意义并不大,顶多算一个过渡解决方案,不要说plugin了,看看JBuilder,当初对struts 1和EJB 2支持很好,代码生成相当好,但又有什么用呢,框架的升级直接导致代码生成器无用武之地,因为框架是high level的,而代码生成器却试图在low level层面上去解决问题。 所谓的人性化和逻辑严密,就是要深刻分析业务需求才能做到人性化,逻辑严密是指重视系统的设计,在设计层面尽可能多地解决问题,系统是一个有机的整体,而不是分散在各处的CRUD。 我很同意ls的说法,如果要保持和框架一样的发展速度是太耗力气了。 首先把lisp的运行能力再提高些... |
|
返回顶楼 | |
发表时间:2008-03-06
又不是所有人都在写框架...
想想新进的员工,想想底层开发人员... 再优秀的框架你能消除繁琐易错的配置文件,毫无技术可言的重复代码吗? 再时髦的语言就不存在冗余和重复了? 如何找到一个结合点是关键。适度是原则。 激发了讨论就说明代码生成必然有市场... |
|
返回顶楼 | |
发表时间:2008-03-07
支持楼主 我自己写的代码生成器已经用了好几年了(中间也改版过) 开发速度不是别人可比的 .... 代码生成器 是生成基础代码的 别想着业务代码也能生成 对于反对的 做自己的事让他们反对吧 .... 别人一个月的活你一个星期就能做完 不爽么 ...
|
|
返回顶楼 | |
发表时间:2008-03-07
我还是比较喜欢notepad上直接写
|
|
返回顶楼 | |
发表时间:2008-03-08
不知楼主,你的工具生成代码的效率如何,毕竟这种东西,代码的优化是非常重要的一部分。
|
|
返回顶楼 | |
发表时间: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个小时。 |
|
返回顶楼 | |