zoukankan      html  css  js  c++  java
  • 11.34 为什么框架没有提供代码设计器或代码生成器?

    每个公司或团队都有自己的开发习惯或开发模式,光标科技这些年来一直坚持CodeFirst,对于实体对象的分析设计,我们的流程是,先根据业务需求分析设计出实体对象及对象之间的关系,最终生产出UML类图,为了避免管理图纸与需求文档花去过多的时间,其它UML图在业务简单的情况下默认省略,只在业务复杂的时候配上流程图,帮助程序员写代码;代码规范与写法每位员工入职时必须先学习,框架结构与操作流程 也在真正进入开发前灌输到每一位开发人员,再辅以开发样例学习,这样避免了向每一位同事讲述系统构架、组件功能等等这样的工作,使每一位开发人员可以在极短的时间内投入到工作中,得到的结果与资深程序员没有什么区别,即使他并不明白其中所有原理,可以做到一边工作一边学习,至于可以上升到什么境界则完全取决于自身。

           前面说到我们的数据实体对象是先有代码,再根据代码直接生成数据库。业务对象一般情况下都与数据实体对象一一对应,偶尔也有设计抉择、性能抉择等因素使得业务对象与实体对象不一致的情况,这里不做特别讨论。现在我们有了数据库结构,生成业务对象的代码完全交给了CodeSmith,代码生成器只能完成与数据对象的交互,简单的数据验证等工作,与业务逻辑相关的操作必须手工添加,至此整个从需求分析到代码实现的过程已经完成。

           因此,在数据实体对象设计并生成代码时,我们用不着代码生成器,在业务对象生成时我们使用了CodeSmith,因此不必花力气去造车轮了,况且数据访问层的技术也有变化,为不同的变化努力并花去宝贵的开发时间,并不值得,毕竟客户要的是软件产品和交货日期,没有人会在乎你克服了多少困难。

           关于界面的编辑与生成方面,因为我们所有工作都在业务对象中实现了,界面只是个交互与收集用户输入的媒介,因此工作相对简单,只是简单的拖控件,目前感觉是越拖越爽,完全没有觉得拖控件是低等程序员的自卑,相反我们鄙视哪些为做一个界面花几天时间,界面中代码横飞,错误不断的程序员,为什么要把工作做得如此复杂,简单点不好嘛?这样的好处还有一点照顾了不同程序员的特长,有些人对审美完全是少根筋,有些人对写代码看作是苦役,我们的观点与习惯是让程序员做喜欢做的工作,做做得好的工作。

           关于拖控件的编辑环境,目前我们没有发现比VS环境做得好的,因此在可预见的未来不提供界面编辑设计器等工具。用VS就行了。

  • 相关阅读:
    LeetCode Best Time to Buy and Sell Stock
    LeetCode Scramble String
    LeetCode Search in Rotated Sorted Array II
    LeetCode Gas Station
    LeetCode Insertion Sort List
    LeetCode Maximal Rectangle
    Oracle procedure
    浏览器下载代码
    Shell check IP
    KVM- 存储池配置
  • 原文地址:https://www.cnblogs.com/yyj/p/2210146.html
Copyright © 2011-2022 走看看