code generation
英 /kəʊd ˌdʒɛnəˈreɪʃən/美 /koʊd ˌdʒɛnəˈreɪʃən/
n. 名词
代码生成;程序生成
词义说明
code generation 的核心含义是指根据某种规格或模型自动产生源代码的过程。其本义源于计算机科学中的编译器设计,指将高级语言编译为低级语言或机器代码的步骤。后来词义扩展,泛指任何自动化生成代码的技术,例如从 UML 图生成类骨架、根据数据库模式生成 CRUD 代码、或利用 AI 模型生成代码片段。引申义还涵盖代码的自动补全、模板化代码的生成等。所有义项的共同点是“自动”和“生成”,强调减少手工编写代码的重复性劳动。
使用场景
code generation 主要出现在软件工程、编程工具文档、学术论文以及技术博客中。在学术写作中,它常被严谨地讨论,如描述一种新方法或工具。在技术文档和博客中,语气较为实用,常涉及具体工具和流程。在商务邮件中,可能用于讨论项目效率或工具选型。在日常口语中较少使用,程序员之间可能简称为“codegen”。在法律或新闻文本中罕见,除非涉及软件专利或政策。语气总体中性,但学术语境更正式。
语法要点
code generation 是不可数名词,通常用作主语或宾语。常见句型包括:“Code generation can improve productivity.”(代码生成可以提高生产力。)“The tool performs code generation from the model.”(该工具根据模型执行代码生成。)它常与“from”搭配,表示生成来源。注意:code generation 用作定语时,常写成 code-generation(带连字符),如“code-generation tool”。作为动词短语“generate code”更常用,但“code generation”作为名词短语是固定的。
近义辨析
与 code synthesis 相比,code synthesis 通常指从高级规格(如逻辑公式)生成代码,更强调形式化方法;与 program synthesis 相比,program synthesis 是更广泛的领域,旨在根据用户意图自动生成程序,而 code generation 更侧重具体实现。与 automatic programming 相比,automatic programming 是历史术语,范围更广。在工具语境的日常使用中,code generation 常与“template-based”或“model-driven”结合,而 program synthesis 更学术。
注意事项
code generation 是中性术语,无褒贬色彩。在正式写作中,应避免将其与“code gen”(非正式缩写)混淆。注意区分“code generation”与“code generator”(指生成代码的工具,是可数名词)。常见的误用是将其与“code compilation”等同,但编译是特定类型的代码转换,而代码生成更广泛。另外,在描述 AI 写代码时,应明确是“code generation”还是“code completion”。
高频搭配
- automatic code generation
- 自动代码生成
- code generation tool
- 代码生成工具
- code generation phase
- 代码生成阶段
- code generation from models
- 从模型生成代码
- code generation technique
- 代码生成技术
- code generation framework
- 代码生成框架
- dynamic code generation
- 动态代码生成
- code generation approach
- 代码生成方法
句子示例
| Code generation can significantly reduce development time for repetitive tasks. | 代码生成可以显著减少重复性任务的开发时间。 |
| The compiler performs code generation after the optimization phase. | 编译器在优化阶段后执行代码生成。 |
| Many modern IDEs offer automatic code generation for getters and setters. | 许多现代 IDE 提供自动生成 getter 和 setter 的功能。 |
| Model-driven development relies heavily on code generation from UML diagrams. | 模型驱动开发在很大程度上依赖于从 UML 图生成代码。 |
| The new AI tool specializes in code generation from natural language descriptions. | 这个新的人工智能工具专门从事从自然语言描述生成代码。 |