论坛首页 综合技术论坛

一万五千个类的项目

浏览 49529 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (6)
作者 正文
   发表时间:2010-12-20  
黑暗浪子 写道
清晨阳光 写道
这个代码量简直不敢想象,一万五千个类。公司所谓的自主知识产权,这个包不允许用,那个包不允许引入了。结果,将一堆开源的源代码直接拿过来,包名彻底更换掉(还不写注释,让你不知道是从哪个开源项目修改来的),删掉其中的一些方法,然后又加了层层封装,到处都是封装,就导致了一万五千个类的产生。
举个简单的例子,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达标就行,但是你若是给修改出问题了,那就是你的错。

写了一大堆,更应该看到这些文字的人是你公司的董事长和CTO~

做好走人的准备后,就可以把这些发给管理层了。
0 请登录后投票
   发表时间:2010-12-20  
只改Bug的项目,你,值得拥有
0 请登录后投票
   发表时间:2010-12-20  
和你有蛋关系? 你的工作绩效是 一天修改了几个bug
0 请登录后投票
   发表时间:2010-12-20  
这种项目还有什么好呆的呢?直接走人嘛
0 请登录后投票
   发表时间:2010-12-20  
建议让那些所谓的“大拿”,看看grails或者ruby on rails,很简单的问题搞的那么复杂干吗。
0 请登录后投票
   发表时间:2010-12-20  
有难言之隐啊,像我才刚刚工作了两年,总跳槽不好,也刚刚才到这家单位三个月,何况在西安4K/月的工资+五险一金可以对付了。所以现在只能是:一、忍了;二、空闲时间自己多学学。
0 请登录后投票
   发表时间:2010-12-20  
lz有没想过该怎么解决呢,如果想过可以跟大家分享下
0 请登录后投票
   发表时间:2010-12-20  
我觉得为了知识产权的问题,应该自己开发硬件开发操作系统,自己写一个高级语言,然后自己写类库,这样才算是完美啊。
0 请登录后投票
   发表时间:2010-12-21  
aoliwen521 写道
我觉得为了知识产权的问题,应该自己开发硬件开发操作系统,自己写一个高级语言,然后自己写类库,这样才算是完美啊。

严重同意!
0 请登录后投票
   发表时间:2010-12-21  
各做各的?
0 请登录后投票
论坛首页 综合技术版

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