新入职了一家公司,由于是国企,求稳定,所以项目是10年前IBM为该国企开发的大型项目。用的是当时世界上最先进的技术,当然现在看起来技术老的不行:
后台主要是:Hibernater+Structs1+Spring+WebService。SSH版本都比较低,前端貌似是原生的Js,连jQuery框架都不使用,JDK还需要配置1.5版本的。看了一遍项目的后台代码结构,由于是WebService项目,所以有一个是Service项目(提供服务),一个是Web(提供前端界面),看了一下代码的包,都没有传统的SSH框架View->Serivce->Dao的三层调用关系来,我一时也蒙逼了。昨天和今天也弥补了WebService的一些简单知识,还是看不懂思路。
项目的主要功能和代码不知道是什么时候写好的,目前就我一个人来负责,主要是负责运维,修改小的需求,将来要提出建议型的修改。我入职前有一哥们负责这个项目,现在我来了,他把工作任务交接给我,由于他也是从别人那接手过来的,他也直言他对本系统到现在也无法摸透。
入职之后我才发现:我处在的项目组情况是,本项目组分为N个小项目组,而我处在的最小单位的这个项目组程序员只有我一人,另一人是我的项目组长,我要直接对她负责。周五她介绍了一下本系统的功能特点,我发现这是一个有29个模块的系统,我觉得应该算是一个大型或者中型系统了吧!
看来这个艰巨的任务落在我肩上了,时间紧任务重,如何快速上手这种10年前老项目呢?
十年前的东西太老了。快速上手。。不存在的。
我看了那项目的代码,后台的居然没有按action.servce,dao来分层,我看了一脸蒙逼!
先尽快熟悉业务流程,不要过于纠缠于细节,资源下载从整体上熟悉这个系统,然后从核心模块入手。
分层都是11年之后的事情了,之前的你想分层的项目很少的。 建议你问下你的leader有没有相关文档,另外结合页面入口和 数据表来看代码,看代码流程,最好是本地能跑通,然后这样去熟悉流程
今天才分到SVN帐号,检出项目来看了,项目分为后台的Service和前台的Mvc项目,就是前台调用嗯后台的WebService的意思。
由于上周五刚入职,他们讲了一下项目,我不知所云,对这个项目感到极端恐惧,今天看了Mvc的项目,发现还型,用了典型的struts1,我自己按照这个项目的模块自己写了一个小测试模块,通过了。
这项目前端居然还在用<%==>这种嵌套java的方式来写前端,没有jQuery,只有原生Js和Java片段就搞定一切了。后台的代码明天我去再看看,不知道能不能看懂。
还有,这项目有一个离线端,就是客户在断网的时候先用客户端保存数据在本地,等上网的时候再同步更新数据,离线端是基于C/S架构的,用PowerBulder写的,我对C/S架构的软件不熟悉。
今天我看了他们的需求文档,有72个新增或者需要改动的需求,明后天再次开需求会,这次需要我发言,提出见解。72个需求哪,有些简单,有些难,我看了交接的数据库文档,足足177页,看着我都蒙逼了。
最最重要的是:这个项目只有我一个程序员,而且是JAVA程序员,我能完成这个任务么?离线端那个需求我该怎么提呢?我直接说我不会做?离线端就是一个客户端,客户需要在他们本地安装SqlServer数据库,客户说那样太麻烦,问能不能不用数据库!这下更蒙逼了!
好的,如果说有些需求确实有难度,或者说有些需求对于一个Java程序员来说太难,怎么跟他们提?直接说么?这个项目目前只有我一人!
项目具体详情可以参考楼上!
首先,接下活就要根据实事求是,不要硬扛,有困难就提出,不要不好意思,还是能力不行怎么地,至少让公司知道你能力有多少,能做到多少。还有如果要熟悉一个项目必定要有个经过,先跑通再做列子,这样你每熟悉一个业务就有自己的见解,前提你必须要积累。这个是漫长的消化过程。希望你能挺过来。
我现在在看08年的项目瑟瑟发抖struts1 spring hibernate 前台ext 20年了学这些知识还值得么.