`
badqiu
  • 浏览: 670141 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

为何代码生成器都要这么智能呢?

阅读更多
现在的代码生成器生成的代码文件都会自动插出在我们的项目中,为何不提供一个将生成的文件生成在硬盘某个目录下,再由我们手工copy回来工作区?

这样可以避免开发人员需要考虑文件会不会被覆盖的问题.并且手工的动作很快,也不容易出错.

本人编写了的一个基于数据库的代码生成器,就是要解决上面提到的问题,可以生成Hibernate Model,Dao,Manager,Struts/Struts2 Action,JSP页面(增删改查及列表页面,表单验证),以下为代码生成器相关特性
  • 以application方式运行生成器,代码即是配置.
  • 将文件系统的目录名称及文件名称作为生成器的一部分,模板文件的的名称与目录名称可以直接引用相关变量,如${basepackage}/${className}.java (${className}=Blog,则会生成Blog.java)
  • 以@testExpression结尾的模板文件为有条件忽略,如果testExpression的值在数据模型为true则生成该文件,生成的文件不会包含@testExpression,反之则不生成该文件(应用场景:用于在是否要生成hibernate联合主建的文件中)
  • 支持文件插入操作,如模板输出生成的地方已经有该同名的文件存在,并且文件中有包含"webapp-generator-insert-location"标记,则模板生成的内容会插入在该标记之后该特性对如生成的spring配置内容插入spring配置文件十分有用


生成器入口
	public static void main(String[] args) throws Exception {
		Generator g = new Generator();
		
		g.clean();
		g.generateTable("blog");
//		g.generateAllTable();
	}


这里是上一篇[搞不明白],被移至入门区了
[搞不明白]直接在Action中返回forward不好么

搞完了[搞不明白],会发布一个应用开发框架,提供类似rails的基于url确定action访问的零配置快速编程,自带一个代码生成器,已经完成的组合基于struts+spring+hibernate,struts2+spring+hibernate.

  • 描述: 代码template目录结构
  • 大小: 18.2 KB
分享到:
评论
33 楼 王国平 2008-11-06  
请问代码规范器和代码生成器大部门是不是一样的?
代码 规范器的代码如下:
一、 代码规范器功能简介
代码规范器根据统一的配置文件,对指定的程序文件进行规范化调整。
配置文件体现了代码规范器的功能,描述了需要对程序文件进行何种统一规范化操作。由于配置文件是统一的,而程序文件却是不确定的,因此不需要把被规范化的程序文件标识放在配置文件中。
随着代码规范器功能的完善,配置文件也将随之更改其格式与填写规范。因此,配置文件应有版本号,以识别其不同的格式与填写规范。
配置文件的形式,可以是XML文件、纯文本文件、数据库等各种形式。但为了扩展性和小巧易用性,建议采用XML文件。配置文件的文件名由代码规范器的设计人员确定,固定不可变更。代码规范器中有且只有一个配置文件。
程序文件类型:JAVA源程序、目标程序。
规范化调整操作分为两类:
 正调整
根据配置文件的设置,在程序文件中的指定位置增加指定的内容。如果程序文件中的指定位置已经有指定的内容,代码规范器不再做增加动作。
 反调整
根据配置文件的设置,在程序文件中的指定位置删除指定的内容。如果程序文件中的指定位置没有指定的内容,代码规范器不再做删除动作。
二、 代码规范器0.1版功能清单
 增加类属性
在程序文件类内增加新的属性。
例如:
程序文件原来面貌:
public class DBCon {
private ResultSet rs;
……
}
增加后的程序文件:
public class DBCon {
private Connection con;
private ResultSet rs;
……
}
 增加类方法及代码
在程序文件类中增加新方法及代码。
例如:
程序文件原来面貌:
public class DBCon {
private ResultSet rs;
……
}
增加后的程序文件:
public class DBCon {
private ResultSet rs;
public DBCon() throws Exception {
connection();
}
……
}
 在类方法内指定位置增加代码
在程序文件类中指定的方法内的指定位置,增加代码。
在方法内的指定位置,分为两种:方法内的最前部和最后部。
三、 代码规范器使用方法
代码规范器的使用方法有两种:
 命令行方式
格式:代码规范器 程序文件 调整操作分类
其中,调整操作分类  “+”表示正调整
“-”表示负调整
例如,代码规范器的文件名为BUILD.EXE,程序文件的文件名TEST.JAVA,准备进行正调整,则命令行执行方式为:“BUILD TEST.JAVA +”。
 接口调用方式
接口调用方式是提供给应用程序调用的方式。应用程序通过实例化代码规范器封装好的一个类,然后调用其中的指定方法,将需要进行调整的程序文件文件名和调整操作分类传递给该方法,实现对程序文件的调整。
四、 要求
编写、提交设计文档、源代码、目标代码。另需附一个通过接口调用方式的例子代码。
32 楼 sevenhighness 2008-09-03  
貌似大部分的代码生成都局限于功能性的生成而已
31 楼 超级潜水员 2008-09-02  
你的rpaid-framework很好用,谢谢楼主了.
30 楼 farryu 2008-09-02  
bruce_luo 写道
不错,我以前也写过一个代码生成器,但是我们老大说,你这一搞,其它程序员就要失业了,我就没有继续搞下去了!

我代表我自己以及我身后千千万万个同行向你致谢了!
29 楼 thc 2008-09-01  
superxielei 写道
说了这么多.我还是希望能看一看这个代码生成器...
现在公司都是用自己封装的框架.这些代码生成器还有作用吗?

那正是代码生成器的市场所在 ,哈哈
28 楼 bubble 2008-08-01  
呵呵,像你说的那样,何必用java能,直接用js就搞定了
27 楼 系统程序 2008-07-17  
bruce_luo 写道
不错,我以前也写过一个代码生成器,但是我们老大说,你这一搞,其它程序员就要失业了,我就没有继续搞下去了!


联合国秘书长应该来感谢你啊,不是你做出的伟大的牺牲的话,全球的失业率不知又要增加多少
26 楼 vangelee 2008-07-17  
我晕,你放心不会失业的。可以看一下Grails。感觉会让你大吃一惊的!
25 楼 zfyyfz 2008-07-16  
别这么牛啥,即使你发明一种语言,大多程序员也不会失业!
24 楼 liping 2008-07-16  
我想看看你这个个代码生成器!即使失业也乐意啊!
23 楼 runthu 2008-07-15  
程序员太累,应该偷偷懒!
22 楼 sunwine 2008-07-15  
我到不怕代码生成器,因为我们做开发都不写代码。
21 楼 dfedora 2008-07-15  
都用了好久的。好的代码生成器可以生成很多语言的代码。无非就是模版的选择而已。CRUD操作可以直接用生成器搞定。
20 楼 soleghost 2008-07-15  
在公司实习的时候就发现,对于一个没有任何业务逻辑的model
从查插删改的页面-->对应的action-->manager及其实现-->dao及其实现-->model及其hibernate的xml配置文件,开发的大部分工作都是copy/paste,然后更改变量名,其实大部分都是没有任何技术和业务意义的,写一个针对公司技术框架的代码生成器,可以提高程序员的开发效率,对于公司挺好的
19 楼 runthu 2008-07-15  
搞过SSH的CRUD代码生成,静态编码表的操作效率是高多了,但复杂的业务逻辑还得慢慢去实现。

cuckoo framework也支持CRUD代码的自动生成。
18 楼 simplechinese 2008-07-15  
能不能把这个帖也移到入门区...
17 楼 gladstone 2008-07-15  
bruce_luo 写道
不错,我以前也写过一个代码生成器,但是我们老大说,你这一搞,其它程序员就要失业了,我就没有继续搞下去了!



失什么失,地球不留人,火星还去不得咩
16 楼 pony0728 2008-07-15  
可以把客户化的代码放到扩展目录。最后发布的时候去覆盖下。。
15 楼 suntiance 2008-07-14  
我也有过开发代码生成器的经验,暂时能想到下面这些。
问题
   1、对于业务复杂的模块,代码生成器并不能显著提高效率。
    2、对于熟练的程序员,代码生成器有点累赘。
    3、开发一个优秀的代码生成器也是需要成本的。

优点
   1、简单模块快速开发。
   2、来自同一个生成器的代码比较规范,易读性强。

  
14 楼 xfan1982 2008-07-14  
fmpp+freemarker很容易做

相关推荐

    动软代码生成器工具2023

    动软代码生成器是一款完全自主知识产权研发的为软件项目开发设计的自动代码生成器,也是一个软件项目智能开发平台,它可以生成基于面向对象的思想和三层架构设计的代码,结合了软件开发中经典的思想和设计模式,融入...

    动软代码生成器

    动软代码生成器 是一款完全自主知识产权研发的为软件项目开发设计的自动代码生成器,也是一个软件项目智能开发平台,它可以生成基于面向对象的思想和三层架构设计的代码,结合了软件开发中经典的思想和设计模式,...

    C# .Net代码生成器

    9.Net代码生成器Codematic 是一款为C#数据库程序员设计的自动代码生成器,Codematic 生成的代码基于面向对象的思想和三层架构设计,结合了Petshop中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。...

    51单片机智能代码生成工具

    51单片机智能代码生成工具,帮你快速生成所需代码。初学者必备工具。

    jdxxJSP0110.rar

    为何代码生成器都要这么智能呢? 推荐圈子: flex 更多相关推荐 Pomer是几个无聊的人利用业余时间做的希望不是无聊的一个基础框架:),目前的功能还不完整,不过我们这几个无聊的人会继续做下去,现在推出的版本...

    动软代码生成器.rar

    动软代码生成器 是一款为程序员设计的全功能自动代码生成器,也是一个智能化软件开发平台, 它可以生成基于面向对象的思想和三层架构设计的代码,结合了软件开发中经典的思想和设计模式, 融入了工厂模式,反射机制...

    .NET动软代码生成器2.77版最新版Codematic2

    最新版动软.Net代码生成器是一款为.Net程序员设计的自动代码生成器,也是一个软件项目智能开发平台,它可以生成基于面向对象的思想和三层架构设计的代码,结合了软件开发中经典的思想和设计模式,融入了工厂模式,...

    51单片机代码智能生成系统V1.6

    51单片机代码智能生成系统V1.6

    很牛的带Ajax的ASPNET+C#代码生成工具(无需编码,生成即用)

    AJAX智能提示、增、删、改、查、打印、导出(word\excel)(带自定义查询、打印、导出结果)等强悍功能,这里仅提代码生成器生成试用,只有正式版,结合我提供的项目框架才能正常使用。(必须在装有.NetFrameWork3.5的...

    动软代码生成器,可以一键生成数据字典等等

    动软代码生成器 是一款完全自主知识产权研发的为软件项目开发设计的自动代码生成器,也是一个软件项目智能开发平台,它可以生成基于面向对象的思想和三层架构设计的代码,结合了软件开发中经典的思想和设计模式,...

    微信小程序 小程序页面生成器 (源码)

    微信小程序 小程序页面生成器 (源码)微信小程序 小程序页面生成器 (源码)微信小程序 小程序页面生成器 (源码)微信小程序 小程序页面生成器 (源码)微信小程序 小程序页面生成器 (源码)微信小程序 小程序页面生成器 ...

    JeecgBoot 是一款基于代码生成器的低代码开发平台

    JeecgBoot 是一款基于代码生成器的低代码开发平台...复杂功能由代码生成器生成进行手工Merge 实现低代码开发,既保证了智能又兼顾灵活;实现了低代码开发的同时又支持灵活编码,解决了当前低代码产品普遍不灵活的弊端!

    最牛气的代码生成器(字段翻译、反向工程、智能提示,高效开发)

    本程序完全兼容32/64位系统,直接生成带权限管理的BS项目,本代码生成器是本人根据原作者提供的开源程序(原作者jackchain)亲自升级的软件,请看视频操作,(如:生成代码前建表时可以复制中文字段,让它自动翻译生成...

    动软代码生成器最新版 v2.78 官方版

    动软代码生成器最新版可以智能去产生用户编程需要的代码,节省了用户去重复编程耗费的时间,大大提升编程人员工作效率。 动软代码生成器最新版功能介绍: 1、拥有完全自主知识产权的自动代码生成器 2、使程序员...

    狼奔代码生成器

    狼奔代码生成器,是免费的,是开放源代码的,是一款为.Net工程师开发Web项目而设计的辅助工具。 功能特点: 1.支持SQL Server 2008/2005,Oracle,Mysql等数据库。 2.采用面向服务的架构。 3.完善的页面模板代码...

    ASP.NET-MVC-狼奔代码生成器及使用文档

    这是一款为程序员设计的代码生成器,更是一款软件项目智能开发平台,它可以自动生成ASP.NET页面及后台代码,采用了面向服务的架构(SOA)。

    generator:智能 Django 代码生成器

    Zmei代码生成器 Zmei 生成器是作为 Django 的简单脚手架工具启动的。 现在它是功能强大的代码生成器,可以自动执行日常工作并将生成的源代码轻轻地集成到您的自定义代码中。特征快速创建配置好的 Django 项目用于...

    动软.net代码生成器 V2.78

    动软代码生成器,是动软公司研发的一款为程序员设计的自动代码生成器,也是一个软件项目智能开发平台,结合了软件开发中的经典思想和设计模式。自动生成不同架构的项目和代码。 使程序员可以节省大量机械录入的时间...

Global site tag (gtag.js) - Google Analytics