【总结】groovy写着玩的代码生成

软件外包都是体力活啊,这是入行后老人的第一句话。

幸好老人还有第二句话,自己写代码生成工具吧。

果然发现自己做的工作,完全可以靠工具来生成。

[size=large]背景[/size]
一堆重复性工作:[color=blue]注释,javabean,domain object与 TO 以及TO与BO的互相设值,bean的基本校验,如长度,非空,是否必选......[/color]

基本思路是[color=blue]读取开发文档生成必要的xml,解析XML然后通过模板文件替换或添加.....[/color]


1.为啥要XML,因为它这种数据结构比较强大,而且我也不一定能自己构建出比较好的数据结构,比较菜.....

2.为啥用groovy,因为开发环境里面只有这个脚本语言,又不想用java这种八股文去长篇大论。而且groovy解析xml还算简单。


[size=large]目前遇到的困难:[/size]

因为domainObject关系挺多的,子类,父类,还有inner lass,如何高效生成完整的domain的field结构图,比较头疼。[color=red]注意是domain的字段结构图[/color]

[size=large]具体问题描述:[/size]

举例来说:

public class Guest extends Person{
private Address address;

}
public class Address {
private String addressName;
}

那这个guest的domain field结构图就是

Guest.Address.addressName

如果person里面还有料的话,比如


public class Person{
private String name;
}


那 domain的field结构图 又变成了


Guest.Address.addressName
Guest.name



[size=large]现在的做法[/size]:
两个list,从一个起点开始,读取文件,遇见自定义类型,保存类型,继续读文件,直到读到基本类型再push进list,然后退回到上一层,pop掉刚才的那层,读上一层其他字段......

遇到有重复N的自定义类型,就得读N遍文件,还得用set来保证字段的唯一性,我艹.....

[size=large]缺点[/size]
[color=red]假设有N个bean 每个bean的有M个自定义字段,每个自定义字段有L层,假设M个字段不重复,L层不重复,则我要进行 N*M*L次文件操作,我果然很浪费时间啊,看来还要换个思路[/color]


有空去研究下javaDoc的生成class结构把


————————————————————————————————————————

现在完全没有动力,工作的最大动力就是完善自己的工作代码生成工具.然后看自己的东西。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值