CN108647018A - 可实时预览的代码生成系统 - Google Patents
可实时预览的代码生成系统 Download PDFInfo
- Publication number
- CN108647018A CN108647018A CN201810332780.8A CN201810332780A CN108647018A CN 108647018 A CN108647018 A CN 108647018A CN 201810332780 A CN201810332780 A CN 201810332780A CN 108647018 A CN108647018 A CN 108647018A
- Authority
- CN
- China
- Prior art keywords
- code
- plug
- generating system
- unit
- live preview
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
Abstract
本发明公开了一种可实时预览的代码生成系统,其特征在于,包括数据表管理插件,提供对于数据库表的管理功能;代码生成插件,提供常用功能的代码自动生成;插件管理器,提供插件的安装管理;基础平台,集成了基础通用功能的开发平台,是支撑软件开发和插件运行的基础平台。本发明所提供的一种可实时预览的代码生成系统,自动生成代码可以极大地提高软件的开发效率;代码标准化程度高,可维护性更好;通过代码生成系统做出的软件产品代码质量更好。
Description
技术领域
本发明涉及计算机编程技术领域,特别涉及一种实时预览的代码生成系统。
背景技术
软件开发是一个复杂的脑力工作,软件的质量目前很大程度依赖软件工程师的水平,工程师水平差异,态度差异将直接影响软件的质量和开发效率。软件开发中代码不规范、质量不好、维护代价大、代码复用率不高、开发效率差是软件企业普遍存在的问题。
代码不规范、质量不好、维护代价大:软件开发需要团队中的多个工程师协作完成,团队成员有完全的自由度可以任意发挥编写代码,因水平各异,编程的代码风格各异,将直接导致软件产品质量不齐,维护代价更大。
软件开发中编码的标准化可以提高工程师编写代码的规范性,利于提升软件质量和降低维护成本。而标准化对于软件企业的技术要求比较高,一般企业很难做到。即使有相关的编码规范一般也很难落实到位。
代码复用率不高、开发效率差:因软件开发的复杂性,软件企业在软件的标准化方面做的普遍不到位,在自动化方面更是鲜有企业能做到(即使有少量的自动化也无法做到对生成功能效果的实时预览)。软件企业一般基于主流的技术框架做开发,没有自己的封装去降低开发难度,没有持续地积累自己的可复用组件,重复地造轮子;更没有自动化的开发体系,完全依赖人工,直接导致了团队的开发效率差。
发明内容
针对上述在软件开发过程中代码不规范、质量不好、维护代价大、代码复用率不高、开发效率差等问题,本发明要解决的技术问题是提供一种实时预览的代码生成系统。
为了解决上述技术问题,本发明采用的技术方案是:
可实时预览的代码生成系统,包括数据表管理插件,提供对于数据库表的管理功能;代码生成插件,提供常用功能的代码自动生成;插件管理器,提供插件的安装管理;基础平台,集成了基础通用功能的开发平台,是支撑软件开发和插件运行的基础平台;IDE扩展插件,用于代码的自动化修改。
上述方案的优选方案为:还包括IDE扩展插件,用于代码的自动化修改。
上述方案的优选方案为:所述包括基础数据,保障基础平台和插件正常运行所需的数据。
上述方案的优选方案为:所述数据表管理插件用于创建数据表、维护表结构、管理表关联关系、定义用于字段生成的参数、定义字段对应的表单类型和添加字段的样例数据。
上述方案的优选方案为:所述代码生成插件用于数据增删改查(CRUD)功能的代码生成、Excel导入功能的代码生成、Excel导出功能的代码生成、统计报表功能的代码生成。
与现有的系统相比,本发明的具有以下有益效果:
1).自动生成代码可以极大地提高软件的开发效率。
传统需要工程师手工编写多天的一些增删改查类的相关功能、Excel导入导出类的相关功能、统计报表类的相关功能,通过本代码生成系统可以在数分钟内完成。
2).代码标准化程度高,可维护性更好。
自动生成的代码更加标准统一,非常利于工程师阅读,降低软件的维护成本。
3).通过代码生成系统做出的软件产品代码质量更好。
自动生成的代码可以做到生成后的功能无bug,有效提升软件产品的质量。
附图说明
图1为本发明一种实时预览的代码生成系统的结构示意图。
图中:1-数据表管理插件,2-插件管理器,3-基础平台,4-基础数据,5-IDE扩展插件,6-代码生成插件,61-CRUD功能生成插件,62-Excel导入功能生成插件,63-Excel导出功能生成插件,64-统计报表功能生成插件。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制。
需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
如图1所示,本发明提供了一种可实时预览的代码生成系统,包括数据表管理插件1,提供对于数据库表的管理功能;代码生成插件6,提供常用功能的代码自动生成;插件管理器2,提供插件的安装管理;基础平台3,集成了基础通用功能的开发平台,是支撑软件开发和插件运行的基础平台。
其中,还包括IDE扩展插件5,IDE(集成开发环境)中用于自动修改代码的的扩展插件,可以辅助软件开发人员完成一些有规律的代码修改等操作。比如当数据库字段有更改时,通过IDE扩展插件可以自动同步更新相关代码,提高效率,避免手动更改导致的错误。
其中,基础平台3包含集成了通用功能的基础代码平台,也是插件的运行环境。平台已集成如列表分页表单验证等系统支撑功能的封装,并且集成了如系统用户管理、角色权限管理、元数据管理、定时任务管理、操作日志管理等业务基础功能,可以帮助开发人员快速完成基础开发环境的搭建,开始软件项目的开发。
其中,插件管理器2负责检测并安装插件,当开发人员开发环境中运行系统后,插件管理器便会运行并自动检测插件,将检测到的插件中所含的资源文件拷贝到开发人员的运行环境中(插件不会侵入开发人员的代码环境,仅作用在开发过程中的运行环境),确保系统运行后即可使用插件功能。
其中,所述包括基础数据4,保障基础平台3和插件正常运行所需的数据。
其中,数据表管理插件1集成在本系统中的数据库管理功能模块,可以直接通过本系统完成如下操作:
(1)创建数据库表:新建一个数据库表。
(2)维护表结构:定义表的字段属性,主键等。
(3)管理表关联关系:管理表与表之间的关联关系。
除以上数据库管理操作之外,本插件还可配置用于字段生成的相关参数:
(1)定义字段对应的表单类型:用于代码生成时自动生成对应的表单页面。
(2)定义字段的样例数据:样例数据将被插入到数据库表中,用于代码生成时的实时预览。
数据表管理插件1的实现原理和方法:
通过插件的功能界面得到用户的配置信息,系统后台根据配置信息生成对应的数据库更新SQL,由基础平台中的SQL处理器执行,将结果更新到数据库。
其中,代码生成插件是本系统的核心插件,包含但不限于如下常用功能的代码生成:
CRUD功能生成:“对某类别数据进行新增删除修改查询等操作”类的功能的代码生成。
Excel导入功能生成:“将Excel文件中的数据导入到系统”类的功能的代码生成。
Excel导出功能生成:“将系统中的数据导出到Excel文件”类的功能的代码生成。
统计报表功能生成:“将系统数据查询统计后展现为图表”类的功能的代码生成。
代码生成插件支持实时预览生成效果,用户在生成页面做出的配置改变,页面下方的预览区域可立刻做出对应的变化,展现最新配置对应的代码生成的界面效果,所见即所得的交互体验让用户在操作代码生成时更加得心应手。
代码生成的实现原理和方法:
软件开发过程中会遇到很多类似的功能,这些功能的代码也有很高的相似度,将该类代码放在模板中,将其中的变化部分抽取出来作为变量,通过界面配置得到用户所需的差异化部分的变量,将变量填充进模板生成代码。该部分可通过后端的模板引擎技术实现,如Freemarker。
生成效果实时预览的实现是基于前端的模板和数据双向绑定技术实现,其中动态数据的获取可通过调用后台接口实现。将预览区的页面作为模板,用户配置的更改通过数据绑定直接改变页面中的展现,从而实现生成效果的实时预览。
由上所述,本发明达到了如下技术效果:自动生成代码可以极大地提高软件的开发效率;代码标准化程度高,可维护性更好;通过代码生成系统做出的软件产品代码质量更好。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (5)
1.一种可实时预览的代码生成系统,其特征在于,包括数据表管理插件,提供对于数据库表的管理功能;代码生成插件,提供常用功能的代码自动生成;插件管理器,提供插件的安装管理;基础平台,集成了基础通用功能的开发平台,是支撑软件开发和插件运行的基础平台。
2.根据权利要求1所述的可实时预览的代码生成系统,其特征在于,还包括IDE扩展插件,用于代码的自动化修改。
3.根据权利要求1所述的可实时预览的代码生成系统,其特征在于,所述包括基础数据,保障基础平台和插件正常运行所需的数据。
4.根据权利要求1所述的可实时预览的代码生成系统,其特征在于,所述数据表管理插件用于创建数据表、维护表结构、管理表关联关系、定义用于字段生成的参数、定义字段对应的表单类型和添加字段的样例数据。
5.根据权利要求1所述的可实时预览的代码生成系统,其特征在于,所述代码生成插件用于数据增删改查(CRUD)功能的代码生成、Excel导入功能的代码生成、Excel导出功能的代码生成、统计报表功能的代码生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810332780.8A CN108647018A (zh) | 2018-04-13 | 2018-04-13 | 可实时预览的代码生成系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810332780.8A CN108647018A (zh) | 2018-04-13 | 2018-04-13 | 可实时预览的代码生成系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108647018A true CN108647018A (zh) | 2018-10-12 |
Family
ID=63746205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810332780.8A Pending CN108647018A (zh) | 2018-04-13 | 2018-04-13 | 可实时预览的代码生成系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647018A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142862A (zh) * | 2019-11-20 | 2020-05-12 | 苏州帝博信息技术有限公司 | 一种自动生成代码的系统及方法 |
-
2018
- 2018-04-13 CN CN201810332780.8A patent/CN108647018A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142862A (zh) * | 2019-11-20 | 2020-05-12 | 苏州帝博信息技术有限公司 | 一种自动生成代码的系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190317944A1 (en) | Methods and apparatus for integrated management of structured data from various sources and having various formats | |
US8954375B2 (en) | Method and system for developing data integration applications with reusable semantic types to represent and process application data | |
CN104133772B (zh) | 一种自动生成测试数据的方法 | |
CN110837492B (zh) | 一种多源数据统一sql提供数据服务的方法 | |
CN104123227A (zh) | 一种自动生成测试用例的方法 | |
CN102663103A (zh) | 可配置的自动化生成数据库和数据访问的方法 | |
CN109063362B (zh) | 航电软件接口控制文件设计管理系统 | |
CN111061817A (zh) | 自适应业务构建系统、方法及计算机可读介质 | |
CN112799321B (zh) | 一种遵循can总线通信协议的dbc文件快速创建方法 | |
CN103309904A (zh) | 一种生成数据仓库etl 代码的方法及装置 | |
CN101714078A (zh) | 代码生成方法及装置 | |
CN110597891A (zh) | MySQL聚合为PostgreSQL数据库的设备、系统、方法、存储介质 | |
CN111737227A (zh) | 数据修改方法及系统 | |
CN108647018A (zh) | 可实时预览的代码生成系统 | |
CN110941422B (zh) | 代码自动生成方法、代码生成器及可读存储介质 | |
CN110019118A (zh) | 基于DevOps提升数据库运维效率的系统及其方法 | |
US20100011018A1 (en) | Custom database system and method of building the same | |
CN103092841B (zh) | 一种数据处理方法及装置 | |
CN115237469A (zh) | 一种基于云服务源码的多模式架构逆向解析方法 | |
Rakhmetova et al. | Conceptual modelling of log files: From a UML-based design to JSON files | |
Iftekhar et al. | Reverse engineering of relational database schema to UML Model | |
CN105354144A (zh) | 业务支撑系统信息模型一致性自动化测试方法与系统 | |
KR101045346B1 (ko) | 인터페이스 자동 생성부를 가진 데이터 분산처리 시스템 및 그 방법 | |
WO2005089350A2 (en) | Custom database system and method of building the same | |
Stumptner et al. | BIAccelerator–a template-based approach for rapid ETL development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |