`
crab
  • 浏览: 6837 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

为什么不是代码生成器

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

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

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

       有些哥们眼睛里面只有是和非,不能存在中间地带,理想主义不是坏事,但是用过于偏激的观点来评判看到的东西只能看到缺点。但是如果你认为“只有偏执狂才能生存”,那又是另外一回事了,我们不是一路的。我一直认为“工业是建立在理想和妥协平衡的基础上的”。
分享到:
评论

相关推荐

    C#代码生成器

    在.NET框架下,C#作为主要的开发语言,其代码生成器的作用显得尤为重要。 一、C#代码生成器的核心功能 1. 自动化代码编写:C#代码生成器能够根据预定义的模板或规则,自动生成诸如数据访问层、业务逻辑层、实体类...

    代码生成器 代码生成器 代码生成器

    "代码生成器 代码生成器 代码生成器"这个标题强调了工具的核心功能,即为编程工作提供便捷的代码自动化生成服务。它可以解析数据库结构、设计模式、接口定义等信息,然后根据预设模板快速产出相应的代码片段。这种...

    .net C#代码生成器

    C#代码生成器,正如其名,是专为C#编程语言设计的,其核心功能是将预定义的模板或规则转换为可直接使用的源代码。开发者可以根据自己的需求定制代码模板,比如数据库访问层(DAL)、业务逻辑层(BLL)以及表示层(UI...

    asp.net 代码生成器 .NET代码生成器 C#代码生成器 三层源代码生成器

    asp.net 代码生成器 【基本说明】 1、能够生成三层模式操作的所有后台代码,简单的SQL Server 2005数据库操作。 2、生成的代码包括了 MODEL、BLL、DAL、DBHelper、Config 生成的代码内有详细注释可提供参考。 ...

    人人代码生成器贼好用啊

    人人代码生成器是一款高效实用的工具,主要用于自动化代码编写过程,极大地提高了开发人员的生产力。在软件开发领域,代码生成器扮演着至关重要的角色,它能够根据预设的模板或模型自动生成符合特定规范的源代码,...

    C#三层代码生成器

    代码生成器会为每个数据模型创建对应的业务类,包含增删改查等基本操作,同时提供事务管理、异常处理等功能。 3. **数据访问层(DAL)**:是系统与数据库交互的接口,封装了数据库操作。DAL通常包含ADO.NET实体、...

    代码生成器 代码生成器

    代码生成器是一款强大的工具,主要用于自动化编程过程中重复性的工作,比如根据数据库结构自动生成与之对应的C#代码或SQL语句。这样的工具大大提升了开发效率,减少了人为错误,并且能够保持代码的一致性和规范性。 ...

    mybatis 代码生成器

    DAO(Data Access Object)接口是与数据库打交道的底层接口,代码生成器会为每个Mapper接口创建对应的DAO接口,并在实现类中注入Mapper实例。 6. **配置文件(Configuration)**: 在MyBatis的配置文件中,你需要...

    UC广播代码生成器 51vv广播代码生成器

    标题中的“UC广播代码生成器 51vv广播代码生成器”指的是两个不同的工具,用于创建特定的广播代码。在IT行业中,"广播代码"通常指的是应用或系统间进行通信时使用的信号或指令,特别是在Android操作系统中。UC广播...

    代码生成器代码生成器.zip

    代码生成器是一种软件工具,它能够自动生成编程代码,帮助开发者快速构建应用程序或系统,减少重复的手动编码工作。在IT行业中,代码生成器扮演着提高效率、减少错误和标准化编码的重要角色。以下是对这个主题的详细...

    CSharp C#代码生成器

    【CSharp C#代码生成器】是一个强大的工具,专为C#开发者设计,旨在提高开发效率,尤其是在处理大量数据操作和界面构建时。这个代码生成器可以自动生成用于Web应用程序和Windows Forms(Winform)应用的C#代码,极大...

    SSH代码生成器

    SSH代码生成器是一种工具,主要用于自动化生成基于SSH(Spring、Struts2和Hibernate)框架的Web应用程序的基础代码。SSH框架是Java开发中的一个经典组合,它极大地提高了开发效率,简化了项目的构建过程。SSH框架的...

    C#代码生成器,C#代码生成器,C#代码生成器

    《C#代码生成器:自定义与高效开发的利器》 C#代码生成器是一种能够自动根据预设规则或模板生成C#代码的工具。它极大地提升了开发效率,减少了重复劳动,尤其在处理大量相似或者固定的代码结构时,其优势尤为明显。...

    STM8函数库代码生成器

    STM8函数库代码生成器是一款专门针对STM8微控制器设计的工具,用于自动化生成与STM8芯片相关的函数库代码。STM8是意法半导体(STMicroelectronics)推出的一系列8位微控制器,广泛应用于各种嵌入式系统设计,如家用...

    代码生成器(Asp.net(c#))源码

    1. 快速原型:在项目初期,代码生成器可以帮助快速搭建基本架构,为后续开发提供基础。 2. 降低维护成本:通过统一的代码生成,减少手动编码错误,提高代码质量,降低维护成本。 3. 提升开发效率:对于常规任务如...

    SQL代码生成器_sql代码生成_sqlserver_

    SQL代码生成器是一种工具,它自动化了创建SQL脚本的过程,极大地提高了开发人员的效率。在SQL Server环境下,这样的工具尤为重要,因为SQL Server数据库的复杂性和规模常常需要编写大量复杂的查询和数据操作语句。本...

    VisualStudio代码生成器 c#代码生成器 VS代码自动生成器 .net C# VS 自动生成代码实体

    Visual Studio代码生成器是一款强大的开发工具插件,专为C#开发者设计,旨在提升开发效率,减少手动编写重复代码的时间。这款工具集成了.NET框架,适用于C#编程环境,尤其在处理代码实体类生成时,能显著提高工作...

    C#代码生成器ASP.NET代码生成器

    C#代码生成器作为一款专门为ASP.NET平台设计的工具,旨在解决数据访问层(DAL)和模型层(Model)的代码编写问题,通过自动化的方式,极大地提升了开发者的生产力。 C#代码生成器的核心功能在于自动生成针对单表的...

    Thinkphp代码生成器

    Thinkphp代码生成器是一款强大的开发辅助工具,专为基于Thinkphp框架的Web应用程序设计。它极大地提升了开发效率,通过自动化的方式生成表单和实体类,从而减轻了开发者手动编写重复代码的工作负担。这个工具的核心...

Global site tag (gtag.js) - Google Analytics