代码生成的利与弊
![]()
REST API的数量激增,导致在过去十年中针对各种编程语言和环境开发的API客户端生成器种类繁多。 就像某种巨大的数字Turducken一样,REST API及其生成的客户端似乎能够将任何事物连接到任何事物。 因此,让我们看一下代码生成管理中涉及的火鸡,鸭子和小鸡…… 1.代码重写自动编码的一种广泛形式是代码重写-用于将一种语言版本的语法转换为另一种语言,有时甚至完全转换为另一种语言。 例如,诸如Scala之类的语言实际上是将您的代码重写为与Java兼容的代码。 著名的奇怪的Lombok项目基本上在您键入时重写Java代码,生成幻像方法,因此您可以专注于出色。 就像Babel一样,任何优秀的JavaScript开发人员都可以证明“编译器”是如何将您的高级ES2017重写为已使用了10年的,与浏览器兼容的旧版JavaScript,因此您可以编写现代代码,而不必担心浏览器的行为方式。 2.基于模板的生成React生态系统在创建基于模板的应用程序框架(包括React的“ create-react-app” CLI命令)方面特别活跃。 在整个软件行业中,其他基于模板的代码生成也很普遍。HTML模板和流行的新静态站点生成器通常利用流行的胡须或车把模板引擎来利用模板解析。 在服务器模板引擎(例如Velocity)以及基于服务器的胡须和车把实现中,吐出了预渲染的源文件(例如HTML和越来越多的JavaScript)。 3.运行时动态代码模板并不是生成代码的唯一方法。 通过自省,例如Java和Java Reflection API等语言以及Ruby Metaprogramming,运行代码可以是“自我感知”的,一旦您的代码自我感知,构建真正动态应用程序的选项就会真正扩展。 在Starter,我们使用Java构建了StackGen生成器引擎,这意味着我们能够使用便捷的JavaPoet库来动态构建Java类文件,其中包括在运行时动态 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |