代码生成器技术乱弹十三,郎骑竹马来,高级语言和超级语言

        在天然界,相似于男生女生的概念是不少的。如雄与雌,代码与数据,算法与数据结构。采用中国古代哲学里的概念能够称为阴阳或者两仪。今天咱们探讨的问题是代码生成器中的这个问题。具体说来,咱们分析的是代码生成器的效率与实用性问题。这就是代码生成器的操做和代码生成器里包含的生成的代码之间的关系问题。我称之为超级语言和高级语言问题。程序员

        固然,有些人可能说,不是全部的代码生成器有生成器脚本,或者说是超级语言的。的确,在如今的代码生成器界,有以下的常见作法,有些代码生成器是没有生成器脚本的,他们采用的是界面操做。有代码生成器脚本的代码生成器也很不一致。个人动词算子式代码生成器阵列采用的是名为SGS的代码生成器脚本,比较新的生成器成员支持和SGS语言有映射关系的Excel模板,最新的第三代动词算子式代码生成器光的版本甚至只支持Excel模板代码生成。关于SGS和Excel模板的优劣我会在乱弹十四中阐明。而其余人的代码生成器有其余作法,有的采用XML,采用JSON或者SQL或者其加强的也大有人在。算法

  为何说超级语言和高级语言的关系是代码生成器的根本问题。问题在于效率,在于劳动生产率,在于代码生成器存在和发展的客观逻辑。对于界面派咱们能够分析出他们的问题所在。我能想到的问题在于重复工做。若是界面操做不能脚本或或可储存可修改在以下的场景下,会显得很是低效。好比说一位程序员使用界面操做的代码生成器生成了一套代码,他颇有成就感,由于他用半天时间作完了两周的工做。他把工做成果展现给他的老板或者客户。指望获得他们的承认。因而悲剧产生了,审核者确定了他的工做,可是但愿部分改变数据库设计。若是,单纯使用界面,不借助文件或者数据库保存功能的代码生成器用户不得不从新使用界面操做一遍。这样就大大下降了代码生成器的实用性。数据库

  怎么办,我认为一共只有两种解决办法,使用数据库或者使用某种储存媒介。我是使用SGS文件或者Excel模板来表征一切的。对动词算子式代码生成器的用户而言,以上场景不构成障碍,由于,系统在代码生成物中自动保存了元文件。您能够根据审核者的意见,修改原始文件(SGS 脚本或Excel模板),轻松以迭代式的方式完成工做,没必要从头开始。数据结构

    因此,不能保存的界面流有待完善。而使用某种媒介的代码生成器其实都有一共共通的问题,您要作的动做和代码生成物的比数。固然,最好的代码生成器是这样的,您对他说:“我要一套物流管理系统!",他回答到:“好的,主人。已经为您生成好了。”比较不魔幻的代码生成器须要您比较详细的规格描述。显然,您的描述的越多,代码生成器的效率越低。那末,你们要问,代码生成器的描述到何种详细程度是平衡的比较好的?个人分析以下,程序,无非是代码和数据结构。一部分代码生成器要描述数据结构和施加在这些数据结构上的操做。我已经作到只须要定义参与代码生成的数据对象,全部的泛型操做都默认提供了。这就是本代码生成器乱弹一直在推荐的动词算子式代码生成器。数据库设计

        因此,咱们获得了超级语言的概念,超级语言是编译生成高级语言的代码生成物的一类效率特别高的语言。他的等效的代码生产物的码量是超级语言的10倍乃至100倍。如此高效的代码生成器,是否是对应的高级语言的白马王子哦。设计

相关文章
相关标签/搜索