当前位置: 首页 > 互联网 > 正文

写个代码生成器吧

有时真的感觉重复的代码都写烦了,或者是有时不得不写一个系列的代码。不断的拷贝与粘贴,显得枯燥和无聊,而且在拷贝与粘贴的过程中不断的调试,修改错误。浪费时间与精力不说,关键是消磨了编程的兴趣和意志。所以,为啥不写个简单的代码生成器呢,为啥不对平常工作中的代码进行一个梳理,提炼中相似的内容,让软件帮我们写那些重复的,相似度极高的,结构型的代码呢。而将我们的工作重心转移到业务逻辑的实现上面呢。

不可否认在统一的平台构架下,新模块的开发往往是模块的复制,在部分代码的结构上往往与已有的代码十分相似。就是因为这种相似性,我们往往可能首要进行的是复制粘贴。或又假设说,我们新系统需要开发一系列诸如此类的模块,是否又是简单枯燥的复制粘贴代码呢。虽然可以这么做,但我们是否可以用更加准确,又更加灵活的方式来生成这些代码呢,不仅能帮我们提高工作的效率,更重要的是减少我们对这些代码的修改,能尽早的进入到业务逻辑的开发中去。

其实简单的代码生成器的制作是非常容易的。首先,需要设想你想要的是什么样类型的代码;其次,生成的这些同类代码中,哪些是有区别的,哪些是没有区别的;第三,这些有区别的代码,来源是什么,怎么样可以区别开来,并生成出来;第四,将各个代码片段组合,做好格式,输出字符串到文本框或文件。四个步骤,总的来说,无非就是将代码输出来,然后相同类的代码就可以快速生成了。

网上有很多种的代码生成器,有些是非常通用的,也可能非常好用。但我知道,这些生成器软件功能强大,又模板又什么的,但要完全掌握往往需要花费一些时间,而且有些自己想要的功能可能没有。所以我想,有时真不如自己写个,然后自己在上面进行一些修改与调整,这样就能适合自己的各种场合,至少能提升自己的效率。如果,我们有一套成熟的平台或是框架,然后我们的很多系统都搭建在这个平台之上,而又可能又很多类似的代码,这时我们就不仿考虑一下这个代码生成器。

其实,现在很多数据库到代码的转换都有对应的代码生成器,微软的Entity Framework也带有一个代码生成器。但无论是自己的还是现成的,我们最初需要了解的是我们的系统是如何架构的,只有在了解系统架构,了解系统层次的情况下,我们才能有相应的代码生成器,才有可能将我们生成的代码应用到我们的系统平台上,这样的代码生成器才有它的价值。如果我们发现我们整天写类似的代码,那就试着写个代码生成器吧。

本文固定链接: http://www.byhard.com/?p=1014 | 海纳百川

该日志由 byhard 于2013年06月22日发表在 互联网 分类下,
原创文章转载请注明: 写个代码生成器吧 | 海纳百川
关键字:

写个代码生成器吧:目前有11 条留言

  1. 4楼
    若鱼:

    别偷懒。

    2013-06-24 14:32
    • byhard:

      哈哈,不是偷懒啊,是把时间用到最重要的地方去。

      2013-06-24 17:25
  2. 会写代码的人真是厉害啊,羡慕

    2013-06-24 16:31
    • byhard:

      工作啦,都一样,如果你也搞程序,就不会这么认为啦。

      2013-06-24 17:26
      • 程序员工作可是带有技术性的,了不起

        2013-06-25 17:13
        • byhard:

          程序员算是技术工。无论如何,每个工作都是需要学习的。

          2013-06-26 11:04
  3. 板凳
    FROYO:

    做一个代码生成器其实更费工夫,需要什么曾经写过的,直接找源文件复制粘贴。。。

    2013-06-28 09:25
    • byhard:

      费的是一时的工夫,却带来后面的便捷,特别是对特定的代码架构来说。频繁的复制粘贴真的挺无聊的啦。其实写个自用的代码生成器,也不那么难哦。

      2013-06-28 10:25
  4. 沙发
    大笨兔:

    为什么不直接写成库呢?

    2013-07-03 09:43
    • byhard:

      c语言一般叫库,.NET的应用程序也可以说是一个库,同样可以被调用的。这是我的理解。

      2013-07-03 10:51