• 代码生成器使用的技术和语言的选择


    代码生成所包含的面非常之广,但是对于目前最普遍的层生成器,所使用的技术有很多是共通的。下面简单介绍层生成器所普遍使用的几项技术,以及为你的层生成器选择一门开发语言所要考虑的要点。

     

    编写代码生成器经常使用的技术:

    n         文本模板,

    代码生成通常意味着创建具有复杂结构文本类型的文件。为了维护生成器的简单性和完整性,你可以使用文本模板工具,这样你可以把逻辑的定义和逻辑的代码格式相分离,这是最理想的情况。

    n         正则表达式:

    用来检索,扫描源文件,以提取你要用到的信息,正则表达式的缺点就是不易阅读。

    n         XML

    读入XML文件,进行解析,验证,或者把XML文件作为代码生成器的输出。

    n         文件目录的操作:

    几乎是每个生成器都会使用的技术,从文件读入代码格式,将生成的代码写到输出文件中。

    n         命令行:

    命令行有自己的优势,由于代码生成有很多自动过程,所以在有些情况下命令行更高效,简捷。

     

    基于以上几点,在动手编写代码生成器前看看怎样选择编写语言:

    n         是否有强大的读写,解析文本文件的能力,这是非常关键的。

    n         文本模板是生成器的基础,所以拥有强大且易用的文本模板工具是很重要的。

    n         能够快速,方便地处理XML

    n         快捷,强大的文件操作能力,维护,搜索等。

    n         语言的效率在这里的优先级不高。因为生成器不是用在产品里的,而且不会长期,频繁的运行。

     

    考虑到以上这些情况,作为编写代码生成器的比较理想的语言就是PythonRuby之类的脚本语言。一方面,这些语言都有强大的文本处理能力,正则表达式的支持,伴随而来的处理XML的能力,方便的文件及目录的操作。另一方面,由于简洁,代码量少,开发效率高,虽然程序的执行效率稍逊,但是这已不是代码生成器的主要考量因素。我们可以使用这些脚本语言来为我们的企业应用项目来生成代码,来免除一部分重复,无聊的工作。

     

    BTW:本文主要基于《Code Generation in Action》一书,有兴趣的朋友可以看看。

  • 相关阅读:
    latex入门
    Cookie/Session和Token是什么
    Hive优化
    利用个人电脑搭建网站WEB服务器域名访问
    发布方配模板引擎V2.1及开发教程和案例
    PhpWind论坛系统一键安装
    替代微软IIS强大的HTTP网站服务器工具
    方配网站服务器(FPWebServer) V2.1 支持ASP、ASP.NET、PHP的运行
    Discuz_X2 论坛系统一键安装
    正式发布方配网站服务器V3.0
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/codegeneration_tech.html
Copyright © 2020-2023  润新知