论坛首页 Java企业应用论坛

给做快速开发框架的人泼泼凉水

浏览 40275 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-10-30  
downpour 写道
做Java也几年了,从来不觉得所谓的代码生成技术有什么好处,也从来没有看到一个框架能做到所谓的快速开发。

在企业应用领域,业务逻辑都比较复杂,简单的代码生成不具备可用性是毋庸置疑的,这些logic你都能生成?客户来一句业务限制你马上歇菜。

在互联网领域,由于界面和设计上的改动,整体结构的变化很大,所以代码生成技术带来的好处也不大。至于说到快速开发框架,谁能保证它的性能?谁能保证它的无限可扩展性?

综合来说,踏踏实实写你的代码,不要试图通过投机取巧来获得任何好处,这样的结果只能让项目变得更烂。

另外想提一点,在开发过程中,最佳实践总是不断总结的,而还有一些通用组件会被不断提取出来,这些通用组件与所谓的代码生成或者快速开发框架并没有很大的联系,不过这些最佳实践和通用组件能大大降低我们的开发成本。

踏踏实实的 写代码,确实如此。
0 请登录后投票
   发表时间:2008-10-30  
elmar 写道
jindw 写道
呵呵,首先我得申明一下,我并没有任何恶意,看到你们做得东西确实也很不错。
大家都是过来人了,其中滋味我想大家自己也很清楚。当能,承认这里的个体差异。

有一天,我要去敲一个钉子,那么我有下面三个选择:
1。接合自身特点,自己铸一把锤子,把这个钉子丁下去。
2。市场上买把或者邻居家借把普通得锤子,把这个钉子钉下去。
3。随便找一快能用得石头,吧这个钉子钉下去。

没有任何一个选择是任何时候都正确。不同的人,不同的职业阶段,不同的环境我们会有不同的选择。

从成本的角度考虑,选择不同的方案取决于我有多少钉子去钉。
从个人成就感考虑,我们可能毫无疑问的选择方案一。


这个是石器时代的做法啊。不过,话说回来了,软件开发本来就处于石器时代。

软件还没到建筑业发展的程度,未来就会的
0 请登录后投票
   发表时间:2008-10-30  

      就快速开发而言,我认为这是一种管理层面上的东西而不是太多的技术上。须知道软件生命周期中除了编码时间还有别的时间。假设编码时间占项目时间的80%左右那么节省编码时间自然是客观的,假如说只占了20%甚至10%左右那么这个节省的就不合算了。所以应该叫做快速编码或者叫做技术的快速开发

 

     就快速编码(技术的快速开发)而言,针对java本身来说。除非你彻底的放弃现有的经验否则你所做的一切试图快速的做法都逃不出代码生成的圈子。试想一下我们废除DAO,废除Service,只有domain 和web,这种做法如何让人能接受?做过java的都肯定会质疑,这种做法行吗?这不是耦合吗?姑且不讲这说法的正确性如何。但就此疑问而言就可以说你不可能来一次革命。你彻底革命会让那些朋友难以接受的,试想一下把一个原始社会的人拉到现代社会,给他喝可乐,吃冰激凌,看非常6+1,玩计算机游戏。你能想想他会是什么表情,什么心理,而且他也不可能做好这些事情。

 

     现在要么是围着web层打转转,要么是代码生成技术。谈不上快速开发,充其量只能算是快速编码

 

 

03年我读书的时候在程序员杂志上介绍了一本叫做《快速软件开发》的书。那时候敏捷来时汹汹,这本书被当时成为最后的传统软件工程经典。当时我买来看了,一知半解,但是后来我越发的认识到其中的奥秘,认识到什么才是快速开发了。快速开发而不是快速编码。这本书现在出了经典版,我买来做了收藏。大家喜欢快速开发的朋友不妨一读。

10 请登录后投票
   发表时间:2008-10-30  
人们总是太理想化,妄图搞个东西出来解决所有问题,这是不对的。
无论是代码生成还是开发平台本身都有其适用的范围,不能妄图其解决一切问题。只要在实际使用中帮助开发者提高了效率,解决了一些问题,这就是成功的。应该在一定适用范围里讨论问题,否则没什么意义。

三蹦子不安全、速度慢、无照经营,但还是有人坐啊!
0 请登录后投票
   发表时间:2008-10-30  
yanwt 写道
xml做配置的优点是,修改配置不需要重新编译源文件,这个注解是做不到的。


这根本就是一个伪命题。什么场景需要这样?测试的时候本来就不会在意编译速度,而看重重新发布是否需要重启应用服务器,支不支持热部署。要说热部署,java文件的热部署能力的还比配置文件来的高呢。

如果是生产环境,能随便修改配置文件么,如果需要修改,会产生只改配置文件,而不改任何代码的情况么,绝对不可能,我特意说了配置文件主要有两种,专门为代码服务的配置文件根本不存在只改配置文件而不改代码的场景,测试的时候可能会碰到,但是测试的时候不在乎编译速度。
0 请登录后投票
   发表时间:2008-10-30  
yiwujiaoyu 写道
elmar 写道
jindw 写道
呵呵,首先我得申明一下,我并没有任何恶意,看到你们做得东西确实也很不错。
大家都是过来人了,其中滋味我想大家自己也很清楚。当能,承认这里的个体差异。

有一天,我要去敲一个钉子,那么我有下面三个选择:
1。接合自身特点,自己铸一把锤子,把这个钉子丁下去。
2。市场上买把或者邻居家借把普通得锤子,把这个钉子钉下去。
3。随便找一快能用得石头,吧这个钉子钉下去。

没有任何一个选择是任何时候都正确。不同的人,不同的职业阶段,不同的环境我们会有不同的选择。

从成本的角度考虑,选择不同的方案取决于我有多少钉子去钉。
从个人成就感考虑,我们可能毫无疑问的选择方案一。


这个是石器时代的做法啊。不过,话说回来了,软件开发本来就处于石器时代。

软件还没到建筑业发展的程度,未来就会的


说到建筑业,我刚才贬了代码生成,现在拿他来举个例子。

建筑业不可能通过某一个事先造好的机器(这个机器是要成本的),来近乎无成本的生成墙壁和房间吧,即使墙壁和房间都是同一尺寸一模一样的功能,幻想软件业变成制造业和建筑业那样的模式是行不通的,软件业总有很多“偷懒”的人会用各种办法来减少重复,建筑业行么?房间和墙壁再一样,还得用民工去造。
0 请登录后投票
   发表时间:2008-10-30  
代码生成比较适合开发方式受限的外包公司,IT民工本来干的就是重复劳动的事,项目不允许你其他技术减少代码。
1 请登录后投票
   发表时间:2008-10-30  
代码是用来给人看的,代码是要长期维护的,什么时候代码生成器弄出来的代码可以满足这两样需求,它才有可能被接受
因为软件整个生命周期的成本,大头儿在后期维护
0 请登录后投票
   发表时间:2008-10-30  
大公司流程重得很,想快都快不起来,
所以我就8关心那些玩意儿了。。。
0 请登录后投票
   发表时间:2008-10-30  
daquan198163 写道
码是用来给人看的,代码是要长期维护的,什么时候代码生成器弄出来的代码可以满足这两样需求,它才有可能被接受
因为软件整个生命周期的成本,大头儿在后期维护

  
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics