2008年10月12日星期日

关于面临的项目

到这个公司的近6个月时间里,一直就是维护同一个项目,虽然它有不同地区的不同版本,但是具体的功能上是大同小异的。

不是我不愿意维护,但是总觉得不爽,总觉得没多少心情去专注于它,原因也许很多吧,但是能考虑到的比较明显的几个方面如下:
1.它分为很多个部分,主要是UI,数据库,CORBA三部分吧。三部分真是够清楚的,而我偏偏只有接触UI的机会……怕是以后也如此,真的很想看到持久层的全部,也更希望看到我从未接触到的corba部分,不过它们都被jar包封得死死的,我所要做的,就是在UI调用某一数据库或者corba的service接口,真是凄凉。
2.跟第一点相关的,数据库服务和corba服务一定得封装成jar包吗?为了责任分离的清晰?怕别人随意改动?怕别人偷学?或是怕别人看到其中隐藏着的拙劣?
3.继续跟以上相关的,其实也不是完全检不到相对底层的源码,能够检出一部分。可是真的只有一部分,在这一部分里面,发现还有更多的重点被jar封装起来。。。实在觉得没意思,既然叫我们维护,难道让我们把握的更全面更深入不是更好?难道他们那些老人家写的底层依然完美到无懈可击的地步?最关键的,在检出的这一小部分相对底层的源码里面,根本看不到一行注释!!oh...也许这样说过分了,毕竟还是能够看到作者姓名的缩写……有时候想,老人家们,要有一天你们离职了,退休了,甚至说句不好听的,你们都挂了,这些东西叫别人怎么维护? 现在这里面出了什么问题只能向你们这些老人家求助,不是我们不想自食其力,也不是我们没有能力自己解决,而是,你们在刻意地留下一些只有你们自己才能看得懂的东西来提升你们的自我价值和地位!不是这样吗?
4.再提数据库,我也不知道他们是如何设计数据库的,我来的时候项目开发早已完结,仅仅剩下维护工作了,可是我想通过数据库文档来大致了解一下系统的数据库部分都不可能,竟然没有一份文档!还是前些日子,项目组的leader补了一份数据库文档,这样的做法不是本末倒置是什么呢,我实在无言。最后补充过来的竟然是word文档格式...天阿,那么多优秀的数据库文档和设计工具都可以用,我真不了解word文档用于数据库数据库文档有何优势存在?话说回来,数据库文档还是好补,因为这事情还算简单,可是那些代码的文档呢?我看是永远都不可能了,我已经断定自己在这个项目里面是不会产生什么价值了,虽然我也想。但是在这样的项目里面要想如以前一样可以获得了解和把握整个系统的机会的话,呵呵,不用抱有任何幻想了。
5.还有一个比较显著的重点就是日志处理方面,本来日志工具也不少吧,apache的,jdk自带的,都有,可这项目的老人家们偏偏自己实现了一个日志工具,拆开一看,那些个level,根本没有任何意义可言,因为那几个case都是空处理留在哪里,你使用这个日志程序的时候,用哪一个级别都没有任何区别。这还不是最重要的,最重要的是,很多具体的异常信息根本捕获不到!有的时候为了确定一个简单的字段值错误还得编写一堆的System.out...那种郁闷感,真无法言喻。我只想问问老人家们,已经有了那么多成熟的日志工具为什么不用?难道那些东西很拙劣,拙劣到对于你们而言可以完全不屑一顾,拙劣到你们根本不敢用? 那么我想请问,你们干嘛还引入spring,webwork,oscache等这些开源工具?我还想问的是,如果我希望通过简单地修改配置就能输出不同级别的日志,或者希望通过简单地修改配置就能将不同级别的日志输出到不同的文件...你的日志工具能达到吗?我知道它无法达到,因为即使捕获常规的异常信息它都不一定能够保证!