为什么不是代码生成器

        nnd,一大清早就看到 一篇这种文章,这个哥们说:
  1. 代码生成器的理论原理是:输入一些数据,然后根据这些数据自动生成一个或多个逻辑过程,然后这些逻辑过程可以接受输入数据,经过逻辑处理后输出。  
  2.   
  3. 这个过程看似很先进,其实很傻。既然代码生成器已经知道了这个逻辑处理过程,为什么还要搞得那么麻烦,生成一大堆代码再要人工去编译一遍。为什么不直接就执行这个逻辑过程呢?  
  4.   
  5. 其实原因非常简单,做这个代码生成器的人技术太糟糕,无法生成足够灵活,适应性强的逻辑过程,甚至更糟糕的是,他都不知道怎么动态生成并执行方法过程。因此,为了满足用户的灵活性需求,只好将这个逻辑过程通过代码展现出来,然后丢下一句话:不满意你可以自己改。   

        这个东西随随便便就可以举出无数的反例,比如在使用hibernate的时候使用代码生成器来生成maping的xml文件,也许你要说在jdk5以上不需要xml,但是有无数的公司的系统是只能跑在1.4的jdk的,当然全部利用反射或者设计模式来写非常动态的代码是一个理想的状态,但是这里又会出现性能和灵活的平衡,要很灵活就必须要牺牲性能,做企业系统很多时候性能是非常重要的,这也是需要妥协的地方。

       再举一个非常明显的例子,ruby on rails利用ruby语言编写,ruby已经是动态语言,基本上可以写非常少的代码,但是它的核心中还是包括了一个代码生成器,可以生成项目结构,生成脚手架代码,生成单元测试等和敏捷相关的一系列代码,而且基本上简单的crub业务就不需要重新编码。在这里可以看到代码生成器不但可以生成代码,加快大家的开发速度,而且把web开发的最佳实践放进去了,这不就是一个代码生成器有生命力的例子吗。

       有些哥们眼睛里面只有是和非,不能存在中间地带,理想主义不是坏事,但是用过于偏激的观点来评判看到的东西只能看到缺点。但是如果你认为“只有偏执狂才能生存”,那又是另外一回事了,我们不是一路的。我一直认为“工业是建立在理想和妥协平衡的基础上的”。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Android开发中,代码生成器是指一种工具或库,可以根据特定的模板和配置,自动生成大量的代码。它可以帮助开发人员快速生成常见的代码结构和逻辑,提高开发效率。 代码生成器可以根据用户提供的配置,自动生成各种类型的代码,包括布局文件、Activity类、Fragment类、Adapter类等。它可以根据模板生成基本框架,并根据用户的需要进行修改和扩展。代码生成器通常可以与IDE集成,方便快速生成代码。 使用代码生成器可以减少开发人员的工作量和重复劳动。开发人员只需要根据实际需求配置代码生成器,然后通过一些简单的操作即可生成大量标准化的代码。这样可以节省开发时间,提高开发效率。 代码生成器可以提供一些模板,供开发人员选择和定制。这些模板可以根据最佳实践和设计原则提供一些常用的代码结构和功能,开发人员可以基于这些模板快速构建应用的骨架,然后根据实际需求进行修改和扩展。 代码生成器可以减少由于疏忽或错误导致的代码bug。它可以基于一些模板和配置生成代码,避免手动编写代码时可能出现的错误。同时,代码生成器还可以提供一些快速导入库、配置依赖等功能,使开发人员可以快速构建一个可运行的应用。 总之,代码生成器是Android开发中的一种工具,可以根据配置和模板自动生成大量的代码,提高开发效率,减少错误,帮助开发人员更快速地构建应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值