zoukankan      html  css  js  c++  java
  • 代码生成那点事

    在微软技术中浸淫6年多了,我就常想啊,有没有一个工具,能让开发简单一点,哪怕就简单一点点?!

    这还是去年的事情,手里的项目都成功上线了,我和james聊天,我说咱们的这几个项目很多地方长的都一样,有些模块功能也一样,以后的开发能不能将这些经验和技术积淀下来啊,不用再机械重复。

    公司又招了两个新人,一男一女,都是刚毕业的,让我带,我就让他们一人维护一个项目,每个项目的架构和技术选型还都不一样,库房项目的底层是使用的ado.net的,直接写sql语句,而看板系统是使用的entity framework做的底层,写的都是linq语句,我就想能不能有一套成熟了技术选型啊?这样新人就能一起培训,也不用学那么多东西。

    每当核心功能和代码出问题,都是我手把手教他们定位错误和修改bug,可有时候他们两个谁请假了,另一个人又不能补上,因为他们在不同的项目之间切换,技术门槛太高了,只能自己补上,感觉自己切换在两个架构中真累啊,有没有一套稳定的架构啊?

    仔细回味这些事情,让我迷茫,让我沉思。

    我决定写一个工具,一个能积淀经验的工具,一个能生成成熟的技术选型的工具,一个能生成稳定架构的工具。

    James是2001年毕业于南开计算机系的大牛,关于架构的确定,我没少叨扰james,我们分析已有的项目架构,也找了很多微软的架构资料,有简单的,有复杂的,最后我们一致中庸的认为四层的架构是最优的,既降低了入门成本,又使系统具有了很好的扩展性。

    架构很快确定了,可技术选型,我们出现了严重的分歧,他有他的一套技术体系,我有我的一套,数据库底层我听取了他的建议,采用entityframework,现在看来他是正确的,因为伴随着项目做大和跨库的要求,ado.net会乱作一团。James也肯定了我“从业务层提取接口,加入服务层”的方案,而界面层,我们默契的选择了轻量级的MVC框架。

    架构和技术都选择好了,我就开始动手实践。

    不知道你在的公司是使用什么工具设计数据库的,我们公司都是使用Powerdesigner来设计数据库模型的,在使用过程中,我发现可以从中分析出很多有开发价值的东西,比如表之间的关系和备注中的信息,灵光一闪,为什么不使用Powerdesigner的设计文件做我的工具的数据源呢!

    同时,我把这几年开发的项目都拿过来一块分析,找出共性,抽象出模型……

    当你一头扎进你的兴趣的时候,约会的时间没有了,聊天的时间少了,周末的活动也少了,可是女友的抱怨越来越多了。

    至此,狼奔代码生成器的思路在我的脑海中成型,一个让开发简单一点点的工具!

     

    对比这几个信息化的项目,我发现都需要一个的权限管理系统,嗯!于是我就使用代码生成器写了一个通用的狼奔权限管理系统,方便以后可以基于此项目进行开发。

    狼奔代码生成器官方网站www.langben.com

    感谢为我打开程序员大门的导师james,感谢给过我帮助和鼓励的同事们,感谢网友对代码生成器提出的宝贵建议,我想说,正是因为有了你们,我才走到了今天。

     

  • 相关阅读:
    poj 3616 Milking Time
    poj 3176 Cow Bowling
    poj 2229 Sumsets
    poj 2385 Apple Catching
    poj 3280 Cheapest Palindrome
    hdu 1530 Maximum Clique
    hdu 1102 Constructing Roads
    codeforces 592B The Monster and the Squirrel
    CDOJ 1221 Ancient Go
    hdu 1151 Air Raid(二分图最小路径覆盖)
  • 原文地址:https://www.cnblogs.com/angben/p/2795758.html
Copyright © 2011-2022 走看看