`
xinglijun1973
  • 浏览: 54933 次
社区版块
存档分类
最新评论

代码工厂建设分析

阅读更多

 

“代码工厂”建设分析

 

一、行业背景:

 

1.  代码生成是什么?

 

 

 

 

 

2.  国内发展情况与趋势:

动软 .NET 代码生成器

动软代码生成器是由动软卓越(北京)科技有限公司研发,软件的前身是李天平先生个人自主研发,经过长时间的完善和更新,目前已经获取《软件著作权》,官方下载量超过90万次。同时,李天平创立了动软卓越(北京)科技有限公司,公司专注于电子商务系统软件研发和系统集成服务,长期致力于企业信息系统开发、高端网站平台建设和电子商务系统解决方案、网上商城、社会化电子商务购物分享系统,移动互联手机应用开发,以及项目技术合作

是一款完全自主知识产权研发的为软件项目开发设计的自动代码生成器,也是一个软件项目智能开发平台,它可以生成基于面向对象的思想和三层架构设计的代码,结合了软件开发中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。主要实现在对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、Model类构造等基础代码片断,支持不同3种架构代码生成,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发。

 

 

3.  国际积分发展情况与趋势、与成功案例:

参考http://andromda.group.iteye.com/group/wiki/2045-codeGenerator

 

1:CodeSmith
  一款人气很旺国外的基于模板的dotnet代码生成器
官方网站:http://www.codesmithtools.com
官方论坛:http://forum.codesmithtools.com/default.aspx
版权形式:30天试用
开源:否
需要先注册确认后才能下载
2:MyGenerator
  MyGenerator是又一个国外很不错的代码生成工具,有人觉得比CodeSmith简单、好用。所有api可以在帮助菜单中找到。
官方网站:http://www.mygenerationsoftware.com/portal/default.aspx
官方论坛:
版权形式:免费
开源:否 下载
3:NHibernate.
  NHibernate是Hibernate公司在Java自动生成领域取得巨大成功后推出的一款ORM工具.
官方网站:http://www.hibernate.org/
官方论坛:
版权形式:免费
开源:否 下载

 

4.  发展趋势分析:

目前基本停留在代码模版技术上,因此可生成代码的范围受限,而且模版是静态的,不能随着项目代码的优化自动优化。也就是说,模版一旦制作完毕,代码就固定了,如果项目中的代码优化了,模版也要手工修改才能保证生成的代码是最优的。

而且,项目开发中的业务逻辑相当复杂,这也就是为什么代码生成目前只能提供部分代码的原因。

 

因此,以后的代码生成要解决以上2个问题,对应的发展方向:

1)       模版自动生成

可以通过在代码中通过嵌入标记来自动生成模版。

具体实现参阅http://xinglijun1973.iteye.com/blog/2101532

2)       开发业务表达语言。

开发人员通过一种可以直接表达业务逻辑的类自然语言表达软件要实现的业务逻辑,系统再解释这个语言,调用对应的模版生成代码。

3)       业务表达可视化设计。

提供一个可视化设计环境,允许开发人员使用图形化工具表达业务,系统再生成对应代码。

二、代码生成建设的目的与意义:

1           目的:

1)  建设代码模版库,部分代码可由模版生成。

2)  不断优化模版。随着代码优化自动更新模版

3)  可以建立一个跨b/s, c/s, android, ios的开发平台,在这个平台上一次设计,生成各种平台代码。

2           意义:

1)  因为模版是提炼的优质代码,缩短开发时间,减少bug风险。

2)  减少软件开发人工成本,解决软件“用工荒”。

3)  可以对外提供代码生成外包服务

 

 

 

三、技术可行性分析:

         代码生成涉及到几个过程:

1)  代码抽象、模版制作。将项目中成功的代码抽象为与具体项目无关的通用代码,即模版代码。这部分需要高级工程师人工方式处理。模版制作是人工的。

 

2)  代码生成。根据业务逻辑不同,自动组合使用大量的不同模版生成代码。需要的技术可能有:

A)      模版技术成熟的模版有 freemarker, velovity, stringtemplate

B)      模版自动生成。

C)      文法分析。如何表达复杂的业务逻辑,并让代码生成器能够理解?可能需要开发一种业务表达语言,系统能够对这个语言进行语法分析,进而理解要表达的意思从而调用不同模版生成代码。目前可用的文法分析工具有 ANTLR(著名的hibernatehql语言就是使用antlr开发的)等。

 

 

 

 

 

 

0
2
分享到:
评论
2 楼 yeaker 2016-05-20  
网上提供的自动化工具是不少,但都不够灵活
1 楼 xinglijun1973 2015-11-04  
  国家提倡大众创业,业务创新层出不穷,需要技术实现能够快速跟进。代码生成提供一个选择。

相关推荐

    代码大全(文字版)

    3. **设计模式**:《代码大全》详细介绍了多种设计模式,如工厂模式、单例模式、观察者模式等,这些都是解决常见编程问题的有效方案,能够提高代码的复用性和可扩展性。 4. **错误处理**:书中有专门章节讨论如何...

    智慧工厂实验室建设方案.pdf

    智慧工厂实验室建设方案是针对现代工业4.0和智能制造领域的一种综合实践平台,旨在通过集成先进的信息技术、自动化技术和物联网技术,提供一个集教学、研究、创新于一体的实验环境。以下是该方案涉及的关键知识点: ...

    代码大全2 中文版英文版

    3. **设计模式**:《代码大全2》详述了许多经典的设计模式,如工厂模式、单例模式、观察者模式等,这些都是解决常见编程问题的成熟解决方案,能有效提升代码复用性和可读性。 4. **重构**:重构是改善代码结构而不...

    智能工厂MES项目实施建设方案 zz.pptx

    ### 智能工厂MES项目实施建设方案 #### 一、智能工厂MES项目的远景与目标 **1.1 项目背景** 随着制造业竞争的日益激烈和技术的快速发展,智能化成为提升企业竞争力的关键因素之一。智能工厂通过集成先进的信息...

    地形要素分类代码与图式符号

    通过代码,可以快速地查找和分析特定类型的地形要素,同时节省空间,使得地图更加清晰易读。 三、图式符号 图式符号是地图上用来表示地形要素的图形或图案,它们简洁、直观且具有标准化。例如,山峰可能用一个...

    【优化选址】基于帝国企鹅算法求解工厂-中心-需求点三级选址问题附matlab代码.zip

    本资料包“【优化选址】基于帝国企鹅算法求解工厂-中心-需求点三级选址问题附matlab代码.zip”提供了一种利用帝国企鹅算法解决复杂选址问题的方法,特别针对工厂、物流中心及需求点的三级选址问题。本文将详细阐述这...

    V1.rar管家婆分销V1源代码

    【管家婆分销V1源代码】是一套专用于企业管理的软件系统,主要针对中小型企业,提供了全面的进销存...通过深入研究这套源代码,可以提升编程能力,理解业务流程,并可能激发创新的解决方案,为企业信息化建设贡献力量。

    C#生产管理系统(为工厂开发的)

    本系统是基于C#编程语言,利用SQL Server数据库技术,结合清华大学开源代码进行改良和优化的产物,对于工厂管理效率的提升具有显著效果。本文将深入探讨这个系统的构建原理、主要功能以及实现技术。 一、C#语言基础...

    低代码可以做什么?拿道一云七巧低代码平台为例说说.docx

    8. 可视化数据处理工厂:无需代码通过简单的拖拉拽实现企业级的数据建模,配合报表引擎实现多维度的数据展示与分析。 低代码平台的应用场景包括: 1. 核心生产管理系统建设:快速集成各种新技术能力,让企业能够在...

    Satisfactory-Stuff

    2. **模块化设计**:采用模块化思维进行工厂建设,方便后期调整和扩展。例如,将相似功能的生产设备集中,形成独立的生产模块。 3. **自动化**:通过自动化技术,如机器人、信号灯和分拣器,减少人工操作,提高生产...

    公司分析-浙商证券-乐惠国际603076.SH乐惠国际点评报告:宁波工厂重大节点通过、即将投产;自主品牌将提升.pdf

    乐惠国际,作为一家在A股上市的公司(股票代码603076.SH),在浙商证券的分析报告中被重点讨论。该报告主要关注了两个关键点:一是宁波工厂的重大节点已经通过,即将投产;二是公司的自主品牌建设将迎来提升。 首先...

    ReportSystem源代码.zip

    在信息技术领域,报表系统(ReportSystem)是企业信息化建设中的重要组成部分,它为企业提供了一种高效、灵活的数据分析和展示工具。本文将深入解析名为"ReportSystem源代码.zip"的压缩包内容,帮助读者理解和掌握...

    代码大全 软件开发人员必备工具书

    书中讨论了有效的代码审查流程,以及如何提供和接受建设性的反馈。 8. **版本控制**:版本控制系统如Git是团队协作的核心工具。书中介绍了版本控制的基本操作,如提交、分支、合并和解决冲突。 9. **软件架构**:...

    shareal-mes-master_mes源代码_MES_源码.zip

    MES系统主要负责工厂生产线上的实时监控、调度、数据采集和分析,为管理层提供透明化、精细化的生产信息,从而提高生产效率、降低成本、确保产品质量。 【源代码分析】 "shareal-mes-master_mes源代码_MES_源码....

    智能制造示范工厂项目任务书.pdf

    1. 项目主要内容和技术路线详细描绘了智能制造的各个环节,包括系统模型建立与运行、先进设计技术应用、生产过程数据采集与分析、制造执行系统与企业资源计划系统的建设、工厂网络架构及信息集成、信息安全保障和...

    delphi LED显示屏-工厂看板

    《Delphi LED显示屏-工厂看板系统详解》 在信息技术高速发展的今天,LED显示屏作为信息传播的...同时,对于工厂管理者来说,这样的软件能够提升生产信息的透明度,提高生产效率,是现代化工厂信息化建设的重要一环。

    课程思政元素手机遴选系统JAVA源代码

    该资源是一个基于JAVA编程语言开发的“课程思政元素手机遴选系统”的源代码包,主要针对教育领域,尤其是高等教育中的课程思政建设。课程思政是将思想政治教育融入到各类课程之中,旨在培养学生的综合素质,形成正确...

    基于webgl-threejs的智慧城市应用项目源码.zip

    《基于WebGL和Three.js的智慧城市应用项目源码解析》 在现代科技发展的浪潮中,智慧城市的建设已经成为推动城市智能化、高效化的重要手段。而WebGL作为一种在浏览器中实现3D图形渲染的技术,配合Three.js这个强大的...

    工厂数据库管理系统-华工数据库大作业(含源文件)之欧阳家百创编.docx

    工厂数据库管理系统是企业信息化建设的重要组成部分,它旨在通过集中的数据管理,提升生产管理的效率和准确性。本系统针对华工大学数据库课程设计要求,由欧阳家百创编,旨在实现对工厂信息、车间信息、工人信息、...

    智能工厂整体解决方案iMIS.pdf

    - **智慧城市解决方案**:利用自动化、信息化技术以及人工智能、大数据分析技术,助力城市建设与管理。 科远股份的核心技术包括大型实时数据库、三维数字成像、SIS、ERP、MES、DCS、PLC等,并在企业决策信息管理、...

Global site tag (gtag.js) - Google Analytics