锁定老帖子 主题:“山寨”框架3宗罪
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-06
最后修改:2009-04-06
eyeqq 写道 山寨框架如果自己拿来练练手我倒是觉得没什么大不了的。但是要强行推广,那就很恶心了。
很喜欢像SpringSide那样做主流框架的扩展的事,做一些最佳实践的东西方便大家。 请问,怎么“强行”推广啊? 人家作者又没有枪 |
|
返回顶楼 | |
发表时间:2009-04-06
什么是山寨,我搞不懂,“非官方”就是山寨,那正宗的JavaEE框架就是那些在jsr有定义的JSF,EJB,JPA,JAXWS,JAXRPC,JAXB,JMS,JMX,JAAS,JACC...等等实现了这些规范的框架。
|
|
返回顶楼 | |
发表时间:2009-04-06
最后修改:2009-04-06
yuan 写道 山寨框架罪状第一条:提高新手学习成本。人家学好了流行的框架进公司本来可以弄清业务逻辑后直接上手,你非得弄个自制框架,让新人多花时间出来学习框架,浪费公司资源不说,一不小心你的框架理念还能误导新人,害人又害己。人家离开这家公司后,在这积累的经验在别处也许还用不上。 山寨框架罪状第二条:降低产品质量。公司里做开发,应该以实现业务为主,技术为辅,如果自制框架,你不得不花额外的时间在框架的维护上(bug往往很多,性能好坏说不定)。使用开源框架,你大部分时间只需要关注业务逻辑(相对自制框架来说);如果自制框架,你不得不花大量精力在业务逻辑以外的技术实现上。人的精力是有限的,同时关注2种事情往往会2种事情都做不好,所谓一心不能二用。开源框架有庞大的开源社区替你承担了这些风险,替你保证了质量,为什么不用? 山寨框架罪状第三条:过于依赖老员工。这个说起来简单,开发这框架的人一旦离职,这个框架以及因它而造成的烂推子便很难收拾。除非你花重金找gigix来重构一把。 一:如果该框架是公司的产品,新人来到这个公司,不管学习成本有多高都是有必要学习的。至于在这里积累的经验以后在别处能否用到是两码事,公司毕竟是公司,不是培训机构,雇你来是干活的,不是专门给其它公司培养人才的。所以,无论在哪个公司,一旦你决定留下来,正确的选择,有且只有一个,那就是根据公司的业务来调整自己的方向,否则请离开。 二:如果山寨框架必定BUG多多的话,那么山寨框架的定义就有必要修改。自制的且BUG多多的框架才算山寨框架。 三:如果该框架的开发人员是一个Team,那么依赖整个Team并不算什么严重的事情。这里的“过于依赖老员工”准确来说应该是“过于依赖某个老员工”。那么山寨框架的定义又有必要修改了。由个别员工制作的框架才算山寨框架。 综合以上,楼主鞭笞的山寨框架应该是:由个别员工自制的BUG多多的个人作品。 |
|
返回顶楼 | |
发表时间:2009-04-08
最后修改:2009-04-08
山寨框架的确也恼火。。。原来公司也是这么干,北京那边养了一帮人,可能没有事做,于是要打造自己的框架。后来出来之后一看,只是struts 1的阉割版本,除了Action 的什么剔除了。Struts 1 所拥有的validation, form 状态维护,tiles支持都被改得用不上了。
最糟糕的是,要将Action改成 Struts2 方式,属性自动填充,连 Action 最基本的线程安全都不知道。 当然这个山寨版本得到了公司很多人的拥护,特别高层,一些会议上常常以此来表现的丰功伟绩。 在项目应用后,这个东西问题多多,不光是上面提到的问题,增加了开发量,很多代码,只要是有一定经验的程序员一眼就可以看出有问题。经过测试,我证实了我的想法,并且可以判定,这是一个连最基本的单元测试都没有进行的框架。 在公司论坛发布这个观点,还好,公司虽然“忽悠”之声占了主流,但还是有些同事,也与我持有相同的看法。 现在,终于离开那个地狱般的地方,不必面对一群“忽悠”,不必天天受山寨“框架”的折磨。 |
|
返回顶楼 | |
发表时间:2009-04-08
hantsy 写道 山寨框架的确也恼火。。。原来公司也是这么干,北京那边养了一帮人,可能没有事做,于是要打造自己的框架。后来出来之后一看,只是struts 1的阉割版本,除了Action 的什么剔除了。Struts 1 所拥有的validation, form 状态维护,tiles支持都被改得用不上了。
最糟糕的是,要将Action改成 Struts2 方式,属性自动填充,连 Action 最基本的线程安全都不知道。 当然这个山寨版本得到了公司很多人的拥护,特别高层,一些会议上常常以此来表现的丰功伟绩。 在项目应用后,这个东西问题多多,不光是上面提到的问题,增加了开发量,很多代码,只要是有一定经验的程序员一眼就可以看出有问题。经过测试,我证实了我的想法,并且可以判定,这是一个连最基本的单元测试都没有进行的框架。 在公司论坛发布这个观点,还好,公司虽然“忽悠”之声占了主流,但还是有些同事,也与我持有相同的看法。 现在,终于离开那个地狱般的地方,不必面对一群“忽悠”,不必天天受山寨“框架”的折磨。 再引用一下经典的那段: Rod Johnson 写道 一些个人、一些团队之所以会实现那种过度复杂的架构,往往还有一些让人更加无法原谅的原因。
在所谓“以复杂性为生的行业”中,帝国本位主义是一个很险恶的因素。复杂性能带来新工作。在大型项目中,如果你采取任何措施降低复杂性,都肯定会危害到其他若干“帝国”的利益。帝国本位主义者们明知有一些工作存在方向错误,但还是欣然地守住这一亩三分地;如果你想质疑这些工作的初衷,那就等着他们反唇相讥好了。比如说,在上文提到的那个项目中,我指出这个基础架构层的整个想法就是有偏差的,但是对方却报以猛烈的反驳,这里的实际原因不外乎是:如果这个项目不成立,那么整整一个团队(七八名开发人员)都成了多余的人,那个半吊子的架构师的名声会毁于一旦,而且为该项目提供咨询的顾问公司收到的报酬也会缩水。具有讽刺意味的是,这个基础架构项目的花费十倍于预算、并且还延误了整体项目进度,本来早该被处理,但是恰恰是因为已经花费的代价太高,所以管理者反而无法下手了。没有人——哪怕是与该项目毫无直接干系的人——敢于向高层管理者透露,这项目浪费了这么多时间和金钱。 我读这段的时候忍不住拍手。 |
|
返回顶楼 | |
发表时间:2009-04-08
zozoh 写道 eyeqq 写道 山寨框架如果自己拿来练练手我倒是觉得没什么大不了的。但是要强行推广,那就很恶心了。
很喜欢像SpringSide那样做主流框架的扩展的事,做一些最佳实践的东西方便大家。 请问,怎么“强行”推广啊? 人家作者又没有枪 楼主主要是讲公司里面的山寨风,所以我说的强行是说公司里头那些有权势的制造者做的推广。一般的普通群众带不带枪都无所谓啦~~~ |
|
返回顶楼 | |
发表时间:2009-04-08
zozoh 写道 eyeqq 写道 山寨框架如果自己拿来练练手我倒是觉得没什么大不了的。但是要强行推广,那就很恶心了。
很喜欢像SpringSide那样做主流框架的扩展的事,做一些最佳实践的东西方便大家。 请问,怎么“强行”推广啊? 人家作者又没有枪 就是在本公司强行推广啊,我就遇到了,nnd,使用它的结果是和种种bug和不便做斗争。 |
|
返回顶楼 | |
发表时间:2009-04-09
eyeqq 写道 zozoh 写道 eyeqq 写道 山寨框架如果自己拿来练练手我倒是觉得没什么大不了的。但是要强行推广,那就很恶心了。
很喜欢像SpringSide那样做主流框架的扩展的事,做一些最佳实践的东西方便大家。 请问,怎么“强行”推广啊? 人家作者又没有枪 楼主主要是讲公司里面的山寨风,所以我说的强行是说公司里头那些有权势的制造者做的推广。一般的普通群众带不带枪都无所谓啦~~~ 恩恩,没了“公司里的” 这个定语,你打击面扩大了不少,活活活。 话说回来,我现在就正在公司里用我的框架来替代SSH,哪个要是敢有怨言,哼哼... 所以,在这里我对我的组员们表示深深的同情 |
|
返回顶楼 | |
发表时间:2009-04-09
什么时候来的山寨框架了?开源的框架不也是那部分人自制的吗?当初Spring还是一个产品呢!不也是一个人制的!要说山寨,是框架都是了
|
|
返回顶楼 | |
发表时间:2009-04-09
楼上的明显没仔细看贴,现在已经明确主题为 “公司内部烂山寨框架 3 宗罪” 了
|
|
返回顶楼 | |