免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2576 | 回复: 1
打印 上一主题 下一主题

一万五千个类的项目 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-16 14:49 |只看该作者 |倒序浏览
转自 http://www.javaeye.com/topic/846046

这个代码量简直不敢想象,一万五千个类。公司所谓的自主知识产权,这个包不允许用,那个包不允许引入了。结果,将一堆开源的源代码直接拿过来,包名彻底更换掉(还不写注释,让你不知道是从哪个开源项目修改来的),删掉其中的一些方法,然后又加了层层封装,到处都是封装,就导致了一万五千个类的产生。
举个简单的例子,MD5加密这么一件简单的事,先一个接口,然后六七个抽象类层层继承,然后是一个最终供外部调用的类,这五六个类里面自己实现,天知道对不对。结果一个MD5加密,硬是给搞出近10个类来完成。如果用Apache的DigestUtis,就是一行代码的问题,或者用JASYPT框架来做加密。
之前是2个团队开发的,一个底层团队,一个上层团队,互相业务逻辑叠加的地方非常多,可以直接实现的,就是要绕一个大圈子来实现。而且底层团队的bug,只能底层改,上层团队的bug,只能上层改。相互调用的地方产生的bug,就互相踢皮球。
底层团队的开发经理吹嘘框架多么多么好,多么多么规范,听起来一切都很美好,看了代码之后,就发现能用10行完成的,就是要用50行来完成。绝对的封装过度,JMS被封装了,JNDI被封装了,加密被封装了,EntityManager被封装了,JMX被封装了,Exception被catch掉了,有了异常,也不知道是哪行代码产生的。连最基础的公用DAO都封装不好,其他封装不知道埋藏了多少坑在里面,没有人去审查,都是个人按照自己爱好封装出来的,中间不知道经手了多少个人。
项目就是基于这样一个不稳定的框架,运行过程中会抛出种种异常,最常见的就是空指针异常,由于封装过度,还定位不到是从哪里产生的,全是一堆JBoss的异常。可以直接调用set方法的,偏偏要通过反射去调用,本以为有特殊用意,仔细看了一下,没有任何理由使用反射。由于调用层次过多,代码进入不了断点是经常发生的事情。如此,就对修改的代码更加没有信心,很多时候不得不用System.out.println()来调试。
现在,我们每天都陷入修改无穷无尽bug的窘迫境地。而现在的项目经理(另有产品经理负责外联和进度等),是一个只会关注bug达标率,不问其他任何事的人,甚至对每个模块的业务都不熟悉,技术更加是不行。一切都是为了完成任务,出去吃饭都是这样,好像就是公司说啦,最近工作辛苦,每人30元指标,一起出去吃顿饭,这是完成任务,每次都是那家餐馆,每次都是那些菜,你不想去是不给领导面子,你去了又不让你点菜。出行也一样,订了飞机票,几个同事没去过机场的,按理有人该负责,人家就一个人先走了,剩下的人都是自己摸索着去,丝毫感觉不到这是一个团队。
我一直认为,如果项目经理技术不行,团队里总得有人技术可以吧,可惜没有。大家都在关心自己的bug修改掉多少。起初还用PMD和Checkstyle检查,但后来没人这么做了,也没人审核代码,大家都在关注还剩下多少个bug。只有2个人有版本库删除和新增文件的权限,其他人只能修改。你要新增和删除文件,要问你一大堆原因。如此,大家宁可将废弃的类里的代码全部注释掉或者干脆就放那里不用就是了,有了新功能宁可用内部类,大不了写成public static class的内部类,外面一样可以调用,都不愿意建立新的类,废弃多时的文件就永远保留在那里,很多东西你根本不知道是有用还是没用。
测试部比开发要多出很多人,原本简单的事情,硬是被人为复杂化。有钱烧的,不在乎,大家都在混,代码烂就烂,只要还凑合能用,能bug达标就行,但是你若是给修改出问题了,那就是你的错。

论坛徽章:
0
2 [报告]
发表于 2011-03-16 15:47 |只看该作者
本帖最后由 58home 于 2011-03-16 15:53 编辑
转自
这个代码量简直不敢想象,一万五千个类。公司所谓的自主知识产权,这个包不允许CR2数据恢复 CR2数据恢复软件 NEF数据恢复 NEF数据恢复软件用,那个包不允许引入了。结果,将一堆开源的源代码直接拿过来,包名彻底更换掉(还不写注释,让你不知道是从哪个开源项目修改来的),删掉其中的一些方法,然后又加了层层封装,到处都是封装,就导致了一万五千个类的产生。
举个简单的例子,MD5加密这么一件简单的事,先一个接口,然后六七个抽象类层层继承,然后是一个最终供外部调用的类,这五六个类里面自己实现,天知道对不对。结果一个MD5加密,硬是给搞出近10个类来完成。如果用Apache的DigestUtis,就是一行代码的问题,或者用JASYPT框架来做加密 ...
totoo130 发表于 2011-03-16 14:49


他们很闲,你总得让他们有事可做吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP