两款主流代码生成器对比评测


        作为一名软件开发人员,在平时工作中会遇到大量重复的、机械的增删改查,这时如果选择一套合适的代码辅助工具,比如代码生成器,往往会产生事半功倍的效果,提高工作效率。今天笔者特意选择了两款最新的主流代码生成器,就两者之间的特点与不同进行对比与评测,希望能为大家提供参考意见。
待测产品1:EasyCode代码生成器
       EasyCode是一款功能强大的软件辅助设计生成系统,直接面向设计过程,强调设计环节的重要性。可以轻松地完成设计工作,生成包括解决方案、界面、文档等全套解决方案。目前软件的版本已经升级到了2.10版,最新版EasyCode下载地址如下,可以免费下载试用。

图1 EasyCode

待测产品2:动软代码生成器
        相信大家对动软代码生成器并不陌生,这是一款面世很久的免费软件产品。动软代码生成器主要面向数据库开发,支持数据库与代码的反向生成,对数据库支持较好,可以生成解决方案与存储过程,简单界面、数据库文档。最新版动软代码生成器下载地址如下,可以免费下载使用。

图2 动软代码生成器

1.设计理念
       同为代码生成器的两款软件,进行软件设计的理念却完全不同。动软代码生成器主要功能全部围绕数据库展开,有很多针对数据库的功能,比如生成存储过程,生成事务代码,以及数据库文档等。而EasyCode强调系统的整体设计,通过对基础对象(类)的设计来完成对系统的架构。相比之下,笔者认为,在面向对象这一当今主流意识形态下,EasyCode的设计方案更为合理与科学。如果细分两款工具,动软代码生成器更像是一款“数据库反向工具”,而EasyCode更像是一款“软件设计工具”。因此笔者对EasyCode的设计理念更加赞同。

2.具体功能
2.1 软件架构对比

         EasyCode的架构目前只有一种,但可以看出经过精心设计,而不是照搬PetShop,扩展性与性能方面兼顾的很好,但架构种类仍需完善,在多表关联等方面的处理,完全使用了面向对象的特性根据官方回应,后期会在更新中不断添加新的架构。动软代码生成器在生成代码时可以选择“单类结构”、“简单三层”、“工厂模式三层”三种架构。在架构方面两款软件都提供了常用的三层的实现方式,动软代码生成器提供的“单类结构”很少能用到,但额外提供了“工厂模式三层”的选择,并且提供了架构的模板,可自行定义。



图3 动软架构


  图4  EasyCode架构

        EasyCode针对基础对象(类)的设计很实用,支持一个基础对象(类)在另一个基础对象(类)中作为属性引用,并且可以针对存储和界面显示设置不同属性。并且EasyCode支持“数据库”-》“基础对象”以及“基础对象”-》“数据库”的正反向生成,这点做得很好。EasyCode可以自己定义两层分级模块,并且将模块与“基础对象”和“界面显示”挂钩,使得界面、代码的设计紧密结合。综合以上几点,本环节EasyCode略胜一筹,我们期待EasyCode后期不断更新的框架。

图5 EasyCode对象引用

2.2 代码细节对比
        动软代码生成器生成的代码没有自定义代码规范设置,且没有相关的项目信息设置,因此生成的代码中并不包含项目信息、公司信息等,备注不是十分完善,很多方法前甚至没有备注,在很多公司的规范中这都是不合格的,软件开发人员需要花费大量时间进行备注的完善。相比动软代码生成器,EasyCode在这一方面做的好得多,通过对项目信息的设置,公司信息、开发人员信息都会体现在每个类的备注里,每个属性都有相应的备注说明,且将系统生成代码区域与用户自行编写代码区域分隔开,用户体验良好。在此环节EasyCode的优势较为明显。

图6 动软代码示例

图7 EasyCode代码


2.3 生成界面对比
        动软代码生成器只能生成Asp.Net页面的显示代码,界面有动软的Logo,风格较为单一。各模块的样式固定,虽然可通过模板定制使用,但是对于开发人员来说,并不是十分方便。EasyCode的界面生成是根绝模块的划分进行的,贴合系统需求。且模块类型可以定义为“空白模块”、“欢迎使用”、“列表-查看”、“列表-添加-修改-删除”、“列表-查看-添加-修改-删除”等,且各个属性对应的控件类型均可根据需要选择,各个属性对应的控件大小、文本对齐方式、间距亦可自定义成固定值。并且在设置完成后,EasyCode无须编译代码即可实现界面预览功能,而且界面专业美观,让人惊喜。在此环节EasyCode完胜。


图8 动软界面


图9 EasyCode界面


图10EasyCode界面设置


2.4 生成文档对比
          动软代码生成器能够生成“数据库设计文档”,文档结构简单,可用于数据库信息存档交流。但是此功能需要本机安装Office2003或2007,不然则只能生成网页格式。EasyCode在这一环节的比拼仍旧给力,不仅能生成“数据库设计文档”,还能够生成“基础对象设计文档”和“系统总体设计说明文档”,文档内容均采用标准格式,略加修改即可投入使用。文档采用Word2003通用格式,且无须本机安装Office。在这一环节EasyCode完胜。


图11 动软文档设置


图12 动软文档示例


图13 EasyCode 文档设置

图14 EasyCode文档示例

 

2.5 小工具对比
        EasyCode提供了三个小工具:EasyCode图像资源管理器、大段文本转为StringBuilder、多行文本转为string[],动软代码生成器提供了三个小工具:搜索表功能、项目发布功能、代码转换功能。EasyCode提供的小工具主要针对代码编写和界面设计方面,而动软代码生成器主要针对数据库方面和项目发布,侧重不同。笔者就使用的方便程度以及帮助程度来看,EasyCode提供的小工具较为实用与人性化。

3.是否收费
        动软代码生成器是免费软件,EasyCode是收费软件,Asp的模板与Winform的模板均为280元/年,购买整套模板为520元/年。虽然为收费软件,但根据EasyCode官方回应,软件的架构模板与界面模板均会不断升级,而升级全部免费。对于免费和收费,各人应都有取舍吧。笔者因为经常需要快速设计一些中小型项目,还是比较偏重EasyCode,认为收费较为合理,在可以接受的范围以内。


4.小结
综上所述,两款代码生成器各有特点,但从各个方面来看,EasyCode的优势较为明显。大家在开发过程中可以实际测试下这两款软件,对照自己的需求理性选择。

更多推荐

两款主流代码生成器对比评测