网站建设资讯

NEWS

网站建设资讯

关于自动生成代码工具的构想-创新互联

关于自动生成代码工具的构想

10年积累的成都网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有三门免费网站建设让你可以放心的选择与我们合作。

摘要: 软件技术的应用越来越广泛,为降低编程入门门槛,提高编程效率,文章设想实现一款自动生成代码的工具。

关键词:代码自动生成;模板;智能

随着软件进入人类社会以来,软件产品需求一直处于增长的状态 面对如此大的软件需求.如何提高软件的生产效率。降低软件开发的周期与成本,便成为软件产业界所关注的焦点, 为此业内人士提出了两种解决方案。 一是采用更高等级的开发语言来提高开发的效率,二是采用构件和复用技术。 而源代码自动生成技术可以说构件和复用技术的核心与基础。

源代码自动生成技术的应用领域相当的广泛,从嵌入式代码的生成到软件工程中UML图的产生都发挥了它重要的作用。在商业领域,在代码自动生成技术上走得最远的恐怕就是微软了。从很久以,微软的各种开发工具(甚至包括像0ffice这类非严格意义上的开发工具)就都提供了丰富的代码自动生成功能。这些功能体现在各种各样的开发向导上,如著名的MFC应用程序框架、VisualBasic的“所见即所得”开发环境等等本文根嵌入式方面的实际需求设计并实现了一种基于模板的代码自动生成工具。它将被应用到嵌入式组件中去, 该工具是使用基于XML描述的模板。用XMLSchema来定义文法,并使用专门的词法分析器来分析模板。

1系统设计

本工具采用了一种基于模板语言的源代码自动生成技术, 它能够通过用户定制或指定的模板来生成个性化的代码。这里所说的模板是用户想要生成的代码的原型,它代表了代码生成过程中的共性 。共性是指在代码生成过程中已经确定的那部分,即不需要进行修改的那部分代码。而与之相对的则是可变性。所谓可变性是指在代码生成过程中需要用户根据自己需要进行配置的那部分代。具体到工具内部,主要由三个部分组成:模板生成、模板验证解析、代码生成。源代码生成工具的工作模型。

1.1模板生成

模板生成部分主要完成的功能是将已有的源代码转换成为可以供用户配置的模板,而如何标记原始的代码是实现模板生成部分功能的关键,经过多方面的研究与比较本工具采用了XML语言来标记现有的源代码。

1.2模板验证解析

模板验证解析部分主要完成的功能是验证导人模板文件的正确性和解析模板文件 。模板的解析主要是对XML模板文件进行分析之后再将其以可视化的形

式显示。 由于C#语言和XML良好的兼容性,可以较方便地运用已有的XML相关类完成。而对于模板的验证是对模板文件的正确性的保证 由于模板文件本身就是XML文件,故可以采用XML的验证方法。 目前有2种主要的

XML验证方法,一种是DTD.一种是XML Scheme。

1.3代码生成

代码生成部分主要完成的功能是将用户配置后的模板文件转化成为源代码。 在工具将模版转换成为源代码之前用户需要对XML模板文件进行配置,考虑到简洁性和易用性,本工具采用了图形化的界面来配置模板。XML与c#中的Treeview树型控件有着非常好的兼容性。因此使用Treeview控件和导入的XML模板进行绑定。利用C#中已有的XML相关类进行对模板的分析,并且将分'析的结果通过 eview控件显示成树型的结构。其中可以修改的变量将显示成为树型结构中的一个节点。对于用户来说模板文件和具体代码是不可见的。他所看到的只是可以配置的变量。将配置后的模板转化为源代码的过程实质上是模板生成的逆过程,通过对模板文件的解析和提取就可以得到需要的源代码。

1.4结束语

文中论述了一个w i n do w s平台上的源代码自动生成工具的设计和实现,它的功能强大,使用方便,效率高,既具有一定的先进性又具有很好的实用性。其适用于各种嵌入式组件,可以极大的减少重复代码的编写,提高开发人员的效率。

【参考文献】

【1】胡海静,王育平.XMl技术精萃[M】.北京:机械工业出版社,2002:50—53.

【2】Mark Birbect.XML高级编程[M】.北京:机械工业出版社,2002:22—27.

【3】】唐大仕.C#程序设计教程【M】.北京:清华大学出版社,2001:35-52.

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:关于自动生成代码工具的构想-创新互联
文章分享:http://cdweb.net/article/dgccsi.html