今日接手一个JAVA开发的WEB项目,代码已是现成的(无文档),需要熟悉和日后修改.很久没有写代码了,于是有点儿不知如何下手,现在将自己感觉有用的做法记录一下.
一、熟悉应用整体功能
WEB项目的话,可以部署一下,就可以应用起来,了解项目的主要功能。可以自己想想这些功能如果是自己做的话,会如何实现,实现上有什么技术难点等。
二、熟悉代码整体架构
需要对整个项目的体系结构有一个了解。
1、查看/WEB-INF/web.xml文件,看看用了哪些Filter、Servlet、标签等,查看其他的配置文件,包括数据库配置文件、日志配置文件什么的心里有个大概。
2、使用Eclipse的JAVADOC导出功能,生成html,可以再贴到WORD保存成DOC文件,这样,查看DOC文件,边看,边用笔、纸等稍画画图(列出包名、类名、类主要方法、是否是单例模式、是不是抽象类、各类的逻辑调用关系),可将一个基础的、简单的业务中涉及到的类及各类的主要功能、各类间的关系有个大概的了解。如CMS系统中的一个文章对象Article的业务处理逻辑搞清楚。比如:文章对象:AbstractArticleManageCommand管理基类、
Add/Del/Modify/ArticleComand管理类(实现基类)、ArticleBean业务逻辑类、ArticleDao与数据库处理类、ArticleSQLCode读取SQL文件类、ArticleVO文章对象类。这样差不多,会大概了解一个业务的处理会涉及到哪些类、各类的职责、调用关系等。(这里在纸上稍画画可能会比电脑快一点,个人比较习惯,觉得直观些也好理解些。)
3、再使用Eclipse的UML生成功能,将一个业务的各类的类图生成,并将它们的调用关系标注出来。会看起来更清晰一些。
4、用Excel将各包中的类进行总结:
包括:
所属层类型(业务逻辑层/前台展现层/数据持久层)
所属模块(用户管理/产品管理/文章管理)
所属包路径
类名
类作用:如,
文章对象原型VO/文章对象业务逻辑处理类Bean/文章对象逻辑实现类DAO/
文章管理器基(抽象)类/管理文章对象管理器Command/文章显示标签Tag
文章管理SQL辅助类
三、主要功能的实现
对上面有个大概了解后,再到各业务处理类如前台显示用到TAG标签、列表增删查改等功能用到的业务逻辑类、分页、过滤器、servle等,都是做什么的、再去仔细看看是如何做的,是用struts还是一般的Bean,再做具体的了解。
有时可以按分类的看,如:所有过滤器、所有标签、所有servlet的功能、对应的类处理;有时也可按业务分类看,如:新闻的前台调用(列表、分页、显示)、后台管理(增删查改、置顶、加精、审批),权限管理,用户管理。这样子看。
四、主要技术
如使用到的Ajax实现的多个上传图片、无刷新分页、多服务器管理等。
今天先暂写到这里,等我边看边记录。