`
aihua
  • 浏览: 8823 次
  • 性别: Icon_minigender_2
  • 来自: 幼儿园
社区版块
存档分类
最新评论

代码生成器是否需要?

阅读更多
  对于代码生成器之类的快速搭建工具我一向是不怎么感冒的,可是最近发生的2件事情让我又重新感冒了

  首先是前几天一个兄弟公司向我们展示了一套在线办公系统的软件,其中包含一个自定义表单的功能。大概就是通过一个gui界面配置,可以直接生成web界面。并且可以与工作流结合,权限结合。
  这套自定义表单的作用有2点
       1 快速搭建界面原型
       2 快速进行二次开发

  我感觉缺点也很明显
       1 与在线办公系统绑定
       2 生成的界面固定
       3 非开放技术
       4 生成代码的可修改行(没见过,怀疑一下)
 
  其次就是现在做的一个项目,客户问我有没有代码生成器之类的,我说“没”,然后客户就说,xxx公司就有一套,可以让开发时间缩短。我强烈的感觉到代码生成器这种东西对于忽悠客户来说,真的是一件利器!

  那我是不是也应该建议公司搞一套呢? 忽悠客户 + 提高开发效率?

 
分享到:
评论
14 楼 sys53 2009-05-10  
LZ说的代码生成器,主要指哪一类啊?
因为你与工作流权限相结果,生成表单,然后直接应用,其它这一块是表单引警。应该算不出代码生成器吧。我在四年前实现了一套,用于OA上的工作流相配合的。
另一种是给程序员辅助用的,我个人觉得是很有用的,适合团队一起开发。前提是团队中要定义好规范,包括系统构架。对于一个初级程序员,或者是刚工作没多久的程序员,在代码生成的基础上写代码肯定比从0开始要好,不用做那些无聊的copy,专注于自己的业务。因为这个是辅助工具,真正系统的开发还是得靠设计主要功能的实现,这里只是CRUD部份,当然还包括所有配置文件,jsp,国际化等。

有兴趣来“代码生成器”圈子逛逛。
13 楼 mathsfan 2009-05-08  
LZ莫非是csdn的那个???
我倒觉得很有必要啊,特别是平时项目中的一些共性的东西,可以自动生成,这样既不容易出错,又提高效率,何乐而不为。
12 楼 matt.u 2009-05-08  
有公司就热衷于可视化代码生成、可视化应用构建,就差点要发明一门新的语言了。
11 楼 抛出异常的爱 2009-05-08  
给个客户 一个小本,上面记着要用的sql句
plsql+excl
全决
10 楼 tuti 2009-05-07  
aihua 写道
 
  其次就是现在做的一个项目,客户问我有没有代码生成器之类的,我说“没”,然后客户就说,xxx公司就有一套,可以让开发时间缩短。我强烈的感觉到代码生成器这种东西对于忽悠客户来说,真的是一件利器!

  那我是不是也应该建议公司搞一套呢? 忽悠客户 + 提高开发效率?

 


也不知道说你什么好, 你说有不就完了。 还真不是骗客户,你用Eclipse 或者Netbean之类,哪个不能帮你生成几行代码的。
9 楼 l7495032 2009-05-07  
aihua 写道
  对于代码生成器之类的快速搭建工具我一向是不怎么感冒的,可是最近发生的2件事情让我又重新感冒了

  首先是前几天一个兄弟公司向我们展示了一套在线办公系统的软件,其中包含一个自定义表单的功能。大概就是通过一个gui界面配置,可以直接生成web界面。并且可以与工作流结合,权限结合。
  这套自定义表单的作用有2点
       1 快速搭建界面原型
       2 快速进行二次开发

  我感觉缺点也很明显
       1 与在线办公系统绑定
       2 生成的界面固定
       3 非开放技术
       4 生成代码的可修改行(没见过,怀疑一下)
 
  其次就是现在做的一个项目,客户问我有没有代码生成器之类的,我说“没”,然后客户就说,xxx公司就有一套,可以让开发时间缩短。我强烈的感觉到代码生成器这种东西对于忽悠客户来说,真的是一件利器!

  那我是不是也应该建议公司搞一套呢? 忽悠客户 + 提高开发效率?

 

8 楼 liujunsong 2009-05-07  
问题的关键在定位代码生成器的功能范围.
1. 究竟解决那些问题
2. 用于那个场合
3. 投入/收益分析比较
泛泛的说代码生成器,这个圈太大了,最后只能是自说自话,最后发现讨论的根本不是一个东西.
7 楼 yiding_he 2009-05-06  
“谢谢您的建议,但这种事情还是我们内行人来决定好吗?”
6 楼 wmj2003 2009-05-06  
marising 写道
做一个也不是很难。
投入多,就做酷点;投入少,就做简单点。真的要做,就原型来说,也就是一两周的事吧。

赞同,如果原来的开发够规范,不断的抽取共性的东西,做个简单的CRUD代码生成,十天就足够了。
5 楼 marising 2009-04-14  
做一个也不是很难。
投入多,就做酷点;投入少,就做简单点。真的要做,就原型来说,也就是一两周的事吧。
4 楼 laodizhuq 2009-04-11  
如果贵公司的产品比较固定,可以抽取出比较共用的东西,能够做成通过程序来生成。
倒是可以做做。

就好比报表工具一样,通过界面拖动,实现报表。

或则和delphi这类的工具一样,通过界面拖动,生成代码,也可以自己写代码来实现界面。
3 楼 魔力猫咪 2009-04-10  
如果你想高效快速开发的话,Rails、Grails、Django都可以拿来用。Rails、Grails自动生成CRUD、Django自动建立后台管理界面。这些都可以极大地提高开发效率。
你不好意思直接说可以换个角度说。我口才不好,交不了你。不过你只要围绕一点就可以,即“成本大于产出”。
2 楼 aihua 2009-04-10  
魔力猫咪 写道
代码生成器是开发的辅助手段。但是这东西只适合简单的、固定的东西。比如建立一个表的基本CRUD。但是稍微麻烦一点的就不能用它了。
你开发一个代码生成器给谁用呢?

我和你想的一样

魔力猫咪 写道

客户?拜托,他们中很多甚至连杀毒软件如何升级都不知道,怎么会用这个?

客户不用这个,问题是我的竞争对说说他有这个,客户认为他们的开发效率一定高于我们

魔力猫咪 写道

开发人员?固定但是琐碎的东西辅助生成一下还可以,然后还是要在生成的基础上修修改改。这里如果用得好的话能够提高开发效率,但是如果生成的代码结构是大家不熟悉和讨厌的,还是不要用了。

基本上我拿到的一个快速框架我是很不熟悉,至于代码结构那更是要从头学起。
但是 这么多坏处都不如一个亮点让人注目,那就是确实在几分钟以内能够出来一个CRUD的界面,在老板、客户眼里,这就是效率!

魔力猫咪 写道

实施人员?对了,你说的这种东西就是给他们用的。总有人想要做个万能平台出来,程序员开发完了平台就不用再开发了。实施人员到客户那里把平台一安,然后上面用生成器一配,客户系统开发完成。但是实际上是不可能的。至少现在的软件工程水平达不到。这种生成器、配置器只能配置配置他们定义好的,如果出现些个性化的需求,立马歇菜。甚至你说我用代码写都不成,内部封装了,不许进。

是有一种情况,只是业务代表用,用它来快速搭建界面原型,挖掘客户需求。。。。 这也是一个经验。
但是没有说要求能够做到直接用的地步。



魔力猫咪 写道

所以如果你做的是产品,而且客户需求基本都一样(差不多是到客户,直接安装,收钱,走人的水平),那么搞这个还可能有点用。可以让实施人员调整的余地大一些。
如果你每个项目都不一样,那么这东西还不如不要,用了反而缚手缚脚。

暂无这类需求

魔力猫咪 写道

你应该和客户解释。代码生成器这东西对客户用处不大。
首先客户自己不用。就是客户会用,一般也怕搞错了,会让程序员来配。
其次,成本很大。如果代码生成器功能太差,没任何用处。功能太强,开发成本要客户买单的。
再次,生成的代码效率要比人编写得差。很多功能强大的生成器,里面到处都是XML之类的配置。不然没法灵活。但是这造成性能急剧下降。

我们的竞争者用到 这个东西,我还真不好意思跟客户说这个东西是个垃圾,毕竟我们也没有看到人家的东西呀
另外,如果我老板搞到的这个,我也不好意思说这个东西是个垃圾呀。


魔力猫咪 写道

所以,你要做的不是给客户开发一个生成器。而是打消他这个不怎么切合实际的念头。这东西客户基本上不用着,白花钱。而且功能弱了没用,强了比自己写还麻烦。你看看SAP的ERP,它倒是灵活了,但是整个一门新语言。购买成本、人员培训、开发维护哪个不需要钱。

哎,彻底打击我了。投降

1 楼 魔力猫咪 2009-04-10  
代码生成器是开发的辅助手段。但是这东西只适合简单的、固定的东西。比如建立一个表的基本CRUD。但是稍微麻烦一点的就不能用它了。
你开发一个代码生成器给谁用呢?
客户?拜托,他们中很多甚至连杀毒软件如何升级都不知道,怎么会用这个?
开发人员?固定但是琐碎的东西辅助生成一下还可以,然后还是要在生成的基础上修修改改。这里如果用得好的话能够提高开发效率,但是如果生成的代码结构是大家不熟悉和讨厌的,还是不要用了。
实施人员?对了,你说的这种东西就是给他们用的。总有人想要做个万能平台出来,程序员开发完了平台就不用再开发了。实施人员到客户那里把平台一安,然后上面用生成器一配,客户系统开发完成。但是实际上是不可能的。至少现在的软件工程水平达不到。这种生成器、配置器只能配置配置他们定义好的,如果出现些个性化的需求,立马歇菜。甚至你说我用代码写都不成,内部封装了,不许进。

所以如果你做的是产品,而且客户需求基本都一样(差不多是到客户,直接安装,收钱,走人的水平),那么搞这个还可能有点用。可以让实施人员调整的余地大一些。
如果你每个项目都不一样,那么这东西还不如不要,用了反而缚手缚脚。

你应该和客户解释。代码生成器这东西对客户用处不大。
首先客户自己不用。就是客户会用,一般也怕搞错了,会让程序员来配。
其次,成本很大。如果代码生成器功能太差,没任何用处。功能太强,开发成本要客户买单的。
再次,生成的代码效率要比人编写得差。很多功能强大的生成器,里面到处都是XML之类的配置。不然没法灵活。但是这造成性能急剧下降。

所以,你要做的不是给客户开发一个生成器。而是打消他这个不怎么切合实际的念头。这东西客户基本上不用着,白花钱。而且功能弱了没用,强了比自己写还麻烦。你看看SAP的ERP,它倒是灵活了,但是整个一门新语言。购买成本、人员培训、开发维护哪个不需要钱。

相关推荐

    C#代码生成器

    《C#代码生成器详解与应用》 C#代码生成器是一种高效开发工具,它能够帮助程序员快速生成符合特定需求的C#源代码,极大地提高了编程效率和代码质量。在.NET框架下,C#作为主要的开发语言,其代码生成器的作用显得尤...

    代码生成器 代码生成器 代码生成器

    在IT行业中,代码生成器的应用广泛,尤其在大型项目或者需要大量标准化代码的场景下,如数据库模型的实体类、CRUD操作、API接口等。通过自动化的方式生成这些基础代码,开发者可以更专注于业务逻辑和复杂问题的解决...

    .net C#代码生成器

    2. **元数据支持**:为了生成与数据库交互的代码,代码生成器需要能够理解数据库模式,如表结构、字段类型等。因此,它通常会集成对ORM(对象关系映射)框架的支持,如Entity Framework,能够自动从数据库模型生成...

    asp.net 代码生成器 .NET代码生成器 C#代码生成器 三层源代码生成器

    8、《Coder.NET代码生成器》需要.Net FrameWork2.0运行环境,基于SQL Server 2005使用。 9、如无法运行本软件,请下载并安装由微软公司提供的.Net FrameWork2.0系统. 10、如果您在使用过程中遇到程序问题或建议...

    UC广播代码生成器 51vv广播代码生成器

    标题中的“UC广播代码生成器 51vv广播代码生成器”指的是两个不同的工具,用于创建特定的广播代码。在IT行业中,"广播代码"通常指的是应用或系统间进行通信时使用的信号或指令,特别是在Android操作系统中。UC广播...

    人人代码生成器贼好用啊

    使用人人代码生成器,用户通常需要进行以下步骤: 1. 定义模板:根据项目需求,设定模板规则,包括类名、属性、方法等结构,以及相关的命名约定。 2. 配置数据模型:输入或导入数据模型,这可能是从数据库表结构、ER...

    C#三层代码生成器

    "C#三层代码生成器"是一个工具,旨在帮助开发者快速生成C#项目的三层架构代码,减少手动编写代码的工作量,提高开发效率。三层架构是一种常见的软件设计模式,它将应用程序分为三个主要层次:表现层(UI)、业务逻辑...

    mybatis 代码生成器

    MyBatis 代码生成器是一款高效实用的工具,旨在帮助开发者自动创建常见的CRUD操作代码,从而节省在数据库交互上花费的时间,提高开发效率。它支持多种数据库,包括Oracle和MySQL,这意味着无论你使用哪种数据库,都...

    代码生成器 代码生成器

    代码生成器是一款强大的工具,主要用于自动化编程过程中重复性的工作,比如根据数据库结构自动生成与之对应的C#代码或SQL语句。这样的工具大大提升了开发效率,减少了人为错误,并且能够保持代码的一致性和规范性。 ...

    代码生成器(Asp.net(c#))源码

    2. 学习成本:使用和定制代码生成器需要一定的学习曲线,尤其是对模板语言的理解和应用。 3. 更新维护:随着Asp.net框架的升级,代码生成器可能需要更新以保持兼容性。 综上所述,Asp.net(C#)代码生成器是提升开发...

    SSH代码生成器

    SSH代码生成器是一种工具,主要用于自动化生成基于SSH(Spring、Struts2和Hibernate)框架的Web应用程序的基础代码。SSH框架是Java开发中的一个经典组合,它极大地提高了开发效率,简化了项目的构建过程。SSH框架的...

    C#代码生成器,C#代码生成器,C#代码生成器

    《C#代码生成器:自定义与高效开发的利器》 C#代码生成器是一种能够自动根据预设规则或模板生成C#代码的工具。它极大地提升了开发效率,减少了重复劳动,尤其在处理大量相似或者固定的代码结构时,其优势尤为明显。...

    代码生成器代码生成器.zip

    随着项目的发展,代码生成器可以帮助维护代码一致性,当需要进行大规模的重构或升级时,只需更新模板,就能快速应用到所有相关代码。 综上所述,代码生成器是现代软件开发中不可或缺的工具,它提升了开发效率,...

    SQL代码生成器_sql代码生成_sqlserver_

    例如,当需要对数据库进行升级或迁移时,可以利用代码生成器导出所有对象的CREATE语句,然后在新的环境中执行这些脚本。此外,对于大型项目,代码生成器可以帮助维护数据库的一致性,确保所有开发团队成员都在使用...

    STM8函数库代码生成器

    在使用STM8函数库代码生成器时,用户通常需要提供以下信息: 1. 选择目标STM8型号:这一步确保生成的代码与所选芯片的资源相兼容。 2. 指定所需的外设和功能:例如,如果项目需要使用ADC(模数转换器)和SPI(串行...

    CSharp C#代码生成器

    【CSharp C#代码生成器】是一个强大的工具,专为C#开发者设计,旨在提高开发效率,尤其是在处理大量数据操作和界面构建时。这个代码生成器可以自动生成用于Web应用程序和Windows Forms(Winform)应用的C#代码,极大...

    组织机构代码生成器

    关于压缩包中的"51CTO下载-组织机构代码生成器",这可能是指在51CTO网站上可以下载到的特定版本的代码生成器软件。51CTO是中国一个知名的IT技术交流平台,提供各种软件下载、技术教程和论坛讨论服务。下载这款工具后...

    垃圾代码生成器

    使用【垃圾代码生成器】时,开发者需要注意以下几点: 1. **合法性**:虽然这种工具在某些场景下能提高效率,但滥用可能会违反App Store的政策。开发者必须确保生成的代码不违反苹果的审核规则,避免因欺诈或误导...

    .net 3层代码生成器

    4. **生成代码**:一旦选择了需要的表,点击生成按钮,代码生成器就会根据所选表的结构自动生成对应的三层架构代码。这包括DAL层的接口和实现类,BLL层的业务逻辑类,以及可能的UI层的控制类或视图模型。 5. **代码...

Global site tag (gtag.js) - Google Analytics