知识大全 编写代码生成器[1]
Posted 工具
篇首语:谷要自长,人要自强。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 编写代码生成器[1]相关的知识,希望对你有一定的参考价值。
Eclipse工具开发:编写代码生成器[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
——此文章摘自《自己动手写开发工具 基于Eclipse的工具开发》定价 ¥ 特价 ¥ 详细>>//track linktech cn/?m_id=dangdang&a_id=A &l= &l_type = width= height= border= nosave>计算机的专家们一直在探寻一种能使得重复代码越来越少的方法 函数封装 面向对象 AOP MDA ORM……所有这些相关或者无关的技术都在试图将重复的代码消灭 可是一路走过来 人们突然发现 重复的代码是不可能被完全消灭的 到了更高的层次一定会有更高级的重复的代码需要我们去对付 因此代码生成也逐渐不再被妖魔化 网页编辑器 编译器 IDE等这些非常重要的工具不就是代码生成器吗?只要是系统经过好的设计 对于剩下的一些重复性的代码与其使用学院派且严重影响性能的方法进行消除 不如使用代码生成器来完成来得更实在一些
回到现实中来 在我们开发程序的过程中 特别是开发一些业务系统的过程中 一些重复的代码总是不可避免的 比如ORM中POJO代码和配置文件 资料录入界面的代码 数据库DDL语句等 这些工作如果要开发人员去手动完成话 不仅会降低开发效率 而且会带来很多bug 最重要的是极容易使得开发人员产生厌倦心理从而消极怠工甚至离职 从而提高了项目的人力资源成本 增大了项目的风险 因此在大一些的开发团队中都在使用着各种或公开或自酿的代码生成工具 而且越来越多的人开始选择自酿工具 这是因为使用第三方的代码生成工具往往不能满足自己的个性化需求
我们可以通过多种方式来写代码生成工具 比如最简单的通过StringBuffer拼字符串 或者借助groovy template velocity等工具来完成 这些工具各有千秋 不过由于本书是讲解Eclipse的 因此我们就来看一下在Eclipse中有哪些代码生成方案
使用StringBuffer拼接来生成代码
在一些比较简单的代码生成中 这样的方式是比较方便的 但是当生成的代码结构变得越来越复杂的时候 代码中stringbuffer append()与逻辑判断代码搅和在一起 程序变得非常难以维护
使用JDT API中的AST
JDT会把 Java代码编译成AST(Abstract Syntax Tree 抽象语法树) 这样复杂的Java代码就变成了相对简单的树状结构 我们就可以通过AST来遍历Java代码 从而解析代码或者对代码进行修改 Eclipse中的Java代码重构就是基于AST来进行的
在Eclipse 中AST被称为CompilationUnit 对应的接口就是ICompilationUnit 通过Java代码来生成 CompilationUnit最简单的方法是使用 IPackageFragment createCompilationUnit 指定编译单元的名称和内容 于是在包中创建了编译单元 并返回新的 ICompilationUnit 我们还可以从头创建一个CompilationUnit 即生成一个不依赖于Java代码的 CompilationUnit 然后在这个CompilationUnit上添加类 添加方法 添加代码 然后调用JDT的AST解析器将 CompilationUnit输出成Java代码 这种方式是最严谨的方式 但是当要生成的代码比较复杂的时候程序就变得臃肿无比 而且只能生成 Java代码 不能生成XML配置文件等文件
使用JET
JET是 Eclipse中一个非常强大的代码生成工具 使用JET你可以运用类似JSP一样的语法 这样我们就可以轻松地编写代码模板 用它可以创建SQL语句 XML Java源代码等文件的代码生成器 本书将把它作为代码生成的工具 因此我们在此处重点讲解JET的使用 JET是EMF的一部分 要使用它必须首先安装EMF插件
使用JET分为如下几步
cha138/Article/program/Java/ky/201311/29014相关参考
Eclipse工具开发:编写代码生成器[6] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Eclipse工具开发:编写代码生成器[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Eclipse工具开发:编写代码生成器[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Eclipse工具开发:编写代码生成器[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java应用:编写高级JavaScript应用代码[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
Java进阶:编写高级JavaScript应用代码[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
编写JScript代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 与其他许多编程语言一样Mi
Java应用:编写高级JavaScript代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 创
Java应用:编写高级JavaScript应用代码[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
Java进阶:编写高级JavaScript应用代码[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下