• 关于代码生成器的初步尝试


    前几星期看到李老师的代码生成器,下回来用了一个,但对于一个已经有基础的系统,例如一些组件及一些类,接口等都已经定义好的项目来说,用他的代码生成器确实有些不实际,出于以下几个重要的原因:

    1、代码完全不能与原来的项目融合,几乎要修改90%以上的代码。这已经决定我不能用他的代码生成 器了。

    2、代码风格完全与个人风格不一致。
    这一点让我很郁闷,因为个人的编程风格已经形成,对于他生成的代码看的很不习惯,例如,一些变量,我习惯的用“m_”开头,而不管它是什么类型,因为从变量名上我可以知道类型,或者开发环境会提示类型,所以我没有习惯用类似“iStudentNumber,strName,dMondy”等这样名字,这完全是个人习惯,因为从"m_LoginName"上我就知道它是一个字符串了。当然,这只是一个习惯。

    3、数据库的接口以及一些中间件的问题。
    他的代码生成器也有几层的架构,因此它也生成了一些中间结构,然而对于我的这些项目,已经有固定的结构,不可能了为添加一些新的结构及代码来改动原来的中间结构,例如一些数据层。

    当然,可能是我对这个代码生成器不习惯,所以存在这些问题。
    然而面对一些机械化的代码,真的不想写了,于是我自己做了一个,便于快速开发中间结构的小工具,取名为SmartCoder
    这只是一个初步尝试,早就有这样想法写一个代码生成器,然而时间关系,没有认真的架构及开发,只是花了半天的时间,做了一个简单的,暂时可以满足我的个人项目要求的工具。当然我是很想花些时间认真的开发的,也在和李老师在保持联系,希望能开发一个好的代码生成工具,取代一些无聊的机械代编码工作。


    从数据库里选择字段,工具根据数据属性自动生成相关的代码,例如自动增加的字段做为关键字段,在添加及更新时,不会修改。
    SmartCoder_1.JPG

    生成的代码,放到项目里可以正常运行,算是轻松了许多。
    SmartCoder_2.JPG

    这只是一个初步的工具,相信有时间我会完善它的。 由于目前它只能以我的项目生成代码,所以就不发布这个根本算不上代码生成的小工具了。等时机成熟时再说吧。
  • 相关阅读:
    【翻译自mos文章】rman 标准版和企业版的兼容性
    HDU 1010 Tempter of the Bone
    uva 10716 Evil Straw Warts Live(贪心回文串)
    适配器及适配器模式
    Android推送技术研究
    【hadoop2.6.0】倒排索引遇到问题了
    【hadoop2.6.0】MapReduce原理
    【hadoop2.6.0】一句话形容mapreduce
    【leetcode】Median of Two Sorted Arrays(hard)★!!
    【leetcode】Merge k Sorted Lists
  • 原文地址:https://www.cnblogs.com/WuCountry/p/363366.html
Copyright © 2020-2023  润新知