一个大胆,史无前例的想法

本文介绍了C2计划,旨在利用Hibernate和Stratus编码特性,结合数据库与JSP页面,打造自动代码生成器。目前已能根据SQL创表语句生成部分文件,后续计划让用户输入字段等信息,系统自动生成数据库SQL语句、配置文件、JSP页面及Servlet等,有望缩短项目代码编写周期。

这个想法并不是凭空冒出来的,而且我也有第一版的编写,但是我想,完全可以把第一版扩充,使之成为完全可以代替重复编码工作的自动生成器,我暂定为C2计划.

C:CODE 2:第二版本

C2计划具体方案:完全利用HIBERNATE和STRATUS的编码特性,结合数据库以及JSP页面,制造出完全可以自动生成数据库表字段增改所需要文件的自动代码生成器

目前已经实现的功能:根据SQL的创表语句,自动生成PO文件,H的配置文件(但还不智能,不健全),PO和FORM的对换文件等.建表语句我们要自己写

C2计划:

1.用户只输入字段名称和字段参数,也可以输入字段的说明.例如,做一个城市名称的管理,只输入"城市名称" ,然后根据下拉框选择"vchar(50)",可以写入介绍文字"城市名称的管理"

PS:本来想同时输入数据库的字段名称,但这实际也没有必要,我们完全可以不去管数据库了,就让系统自动分配个名字给它好了,也许将来会从字典里找个英文词给它

2.全部输入后,输入想建立表的英文和中文名称,这个步骤暂时保留,实际上我想以后的版本也可以把这步省略掉,只输入中文名称即可

3.系统根据输入的参数,自动生成数据库生成SQL语句,以及说明文档

PS:目前只做到支持MYSQL的,对ORCCLE和SQL SERVER的支持是未来的事情

4.生成系列H的配置文件

5.生成PO和FORM文件

6.生成JSP增改页面

7.生成JSP列表页面

8.生成A/U的S A/U文件,并且生成S的do代码

9.生成DAO的SERVLET

10.生成EDIT的S SERVLET文件,并生成S的do代码

11.生成LIST的S SERVLET文件,并生成S的do代码

PS:这个功能,下个版本也许会增加搜索功能,也许这个版本就会有

12.也许我还会生成些SERVLET的说明文档,但是已经有数据库的说明文档了,这个步骤好象有些多余

依靠这个工具,一个项目的代码编写周期毫无疑问会大大减少,程序员所做的事情将不再是写烦琐的配置代码,SERVLET代码,JSP页面等等.我们把这些工作都抛开,我们只关心项目的整体设计,也许还有算法等.它起的作用将是革命性的.也许未来的版本将不再是某个表的代码生成系统,而是整个项目的代码生成系统.那时候毫无疑问,对以B/S为架构的项目来说,将是一次伟大的革命

目前C2的编写语言暂定为VB,VB是做这样事情的最好工具

太宏伟了,为自己鼓下掌



本文引用通告地址: http://blog.youkuaiyun.com/leemny/services/trackbacks/393814.aspx
[ 点击此处收藏本文]
发表于 2005年06月14日 3:21 AM
href="http://blog.youkuaiyun.com/leemny/Services/Pingback.aspx" rel="pingback"/>

sylilzy 发表于 2005-06-14 10:22 AM  
你的想法很好,但这样生成的代码不够灵活,如果需要进行大量的修改才能满足实际的需求.用你这个工具生成一些基础代码效率的确是很高,但你花时间做这个工具将浪费更的时间...

踏雪寻梅 发表于 2005-06-14 11:37 AM  
不懂,看着晕,不过看上去很美
加为友情链接!

龙之苍生 发表于 2005-06-14 11:44 AM  
兄弟你说的很正确,但这不代表自动生成器不可行
想想看
1。谁喜欢写毫无意义的重复性基础代码?
2。修改有注释、千篇一律的基础代码将不再是另人头疼的事情
3。手工造一辆汽车也许要1个月,造一个汽车生产线也许要几个月甚至1年
4。C2是基础,实际需求千变万化,但是假如我们严格把需求分类,会找出其中的共同点的。当然这个不是本版要做的,但做项目管理也好,需求分析也好,找出共性,看以前的代码是否可重用也是必不可少的工作

sigh 发表于 2005-06-14 11:44 AM  
无非是一个Ruby on Rails的Java版本而已,有这么值得开心的么?看看这个吧:
http://www.artima.com/weblogs/viewpost.jsp?thread=77745
Trails是不是就你想做的那个东西?

softworm 发表于 2005-06-14 1:00 PM  
有个产品已经基本实现了这种管理软件的快速开发。
它叫做AE。基于纯Python。
并且可以绘出数据模型图。并根据这些图来生成可以目标系统。

网址: http://www.ridow.com

wyy_9715072 发表于 2005-06-14 1:23 PM  
哥哥,这个东东我也做了一个,我从数据库中读取相应的字段信息包括注释,生成相应的xml和action,form的文件,包括简单的增删改和列表,查询,但那也只是减少一点点手工劳动而以巴,可能sigh和softworm说的对,这些东西,应该有公版的才好吧
如有兴趣联系,联系地址,wyy_9715072@263.net

jx 发表于 2005-06-14 1:54 PM  
我已经实现了

龙之苍生 发表于 2005-06-14 4:18 PM  
谢谢大家关注,我想类似的东西大家肯定都做过,我看了Ruby on Rails和AE,总的来说都不错,当然还有其它的类似工具,如自动生成HIBERNATE代码的插件等等,我想这些工具都在某种程度上满足了减轻代码工作的需求

不过还是和我想的不是太一样.虽然我目前只想写一个自动生成弱代码的工具,不过我的目标是把这个工具智能化,以期可以适应不同项目的要求.从而使程序员可以像配置XML一样的可以任意配置自己的项目,当然这个难度很大,我不敢有十分的把握可以成功.所以我目前还只是想先有个弱代码的生成器,这样的话是个基础.我可以看到这样的东西可以自动化到一个什么样的程度,我所期待的是能够有类似工业生产的代码生成流水线,生产出无瑕疵的代码(至少在格式,注释,命名规约上我们可以做到)

工业代码生成流水线的想法肯定是史无前例的.可以替代低级的手工劳动.低级的程序员从钳工或电焊工变成了装卸工

我想几位写过的朋友不如写写自己的想法,目前的这个弱代码生成器很简单,的确不值得激动,但是如果把它当做一块砖的话,我更想和大家讨论能够使之智能化的项目解决方案

希望和大家多讨论,我的msn是leemny@hotmail.com

sherry 发表于 2005-06-14 4:44 PM  
我看不懂啊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值