这两天学习用EJB,要写XXXBean,然后用XDoclet自动生成XXXHome和XXX。但是run XDoclet总是报错,折腾了两三个钟头,发现jdk1. 6不行,换回jdk1.5就好了。
这算什么事啊!我写程序最烦在这些设置上好时间,太无聊了。既然JSP可以由容器来转成Servlet代码并运行,为什么EJB要让程序员自己来转呢?设计EJB容器的人真造孽啊!
还发现有的程序员喜欢用各种模版和脚本来生成样子很像的很多组代码,个人觉得这是最没有前途的事了。如果系统中有很多样子很像的代码,那只能说代码还有重构的需求。Java里面一砣一砣的getter/setter方法到了ruby里面就成了attr_reader/attr_writer/attr_accessor,看上去多清爽啊!
自动生成的代码其实感觉上象拷贝粘贴查找替换出来的很多代码,这样的代码最大的问题是,如果要改一点东西,就要查找替换个半天,很容易弄错也很花时间。
唯一可以接受的自动生成代码是不需要维护的代码,一旦有什么改变就再生成一遍的代码。但是这样的代码对于程序员来说是没有问题的,对于开发工具的厂商来说或许应该感到羞耻吧,这样的代码为什么要放在前面让程序员看到呢?象JSP生成的Servlet一样放在后台不是给大家都省事了吗?
总而言之,两种生成的代码都很没前途,一种应该重构,一种应该有更好的工具出来隐藏细节。
这算什么事啊!我写程序最烦在这些设置上好时间,太无聊了。既然JSP可以由容器来转成Servlet代码并运行,为什么EJB要让程序员自己来转呢?设计EJB容器的人真造孽啊!
还发现有的程序员喜欢用各种模版和脚本来生成样子很像的很多组代码,个人觉得这是最没有前途的事了。如果系统中有很多样子很像的代码,那只能说代码还有重构的需求。Java里面一砣一砣的getter/setter方法到了ruby里面就成了attr_reader/attr_writer/attr_accessor,看上去多清爽啊!
自动生成的代码其实感觉上象拷贝粘贴查找替换出来的很多代码,这样的代码最大的问题是,如果要改一点东西,就要查找替换个半天,很容易弄错也很花时间。
唯一可以接受的自动生成代码是不需要维护的代码,一旦有什么改变就再生成一遍的代码。但是这样的代码对于程序员来说是没有问题的,对于开发工具的厂商来说或许应该感到羞耻吧,这样的代码为什么要放在前面让程序员看到呢?象JSP生成的Servlet一样放在后台不是给大家都省事了吗?
总而言之,两种生成的代码都很没前途,一种应该重构,一种应该有更好的工具出来隐藏细节。