代码/项目目前有什么需要赶紧做的工作?
Opened this issue · 3 comments
Keithnier commented
头脑风暴一回吧
为啥要分析这个问题?
- 因为项目目前比较乱,如果直接把代码拷给别人,不一定能跑起来
- 项目的组织结构也比较乱,很多重复内容和无用内容
- 显示的内容,用户操作体验很差
目标是什么?
- 减少不明确的配置,代码传递给其他未接触这个项目的人,能在一个小时以内配置好环境并运行
- 代码结构清楚,没有重复的内容,没有无用的内容和包,相同功能的模块要合并
- 运行结果能够用图表方式显示
所以有什么能做的?(头脑风暴想到什么添加什么)
- 删除所有不需要的lib包,包括没用的和重复的
- 重新组织目录层次,爬虫放在一个包内,IR-tree放一个包,预处理放一个包
- 汇总三个包中公共的部分,比如数据库操作、文件操作、配置文件
- 重新组织Web界面显示部分,确定用户可以操作的接口,确定显示的内容 重要
- Web UI的编写。目前首要工作,一个是稳定代码,一个是UI界面。得到一个版本后再重构。
- 其中稳定代码为次要工作,UI界面为主要,因此前3个动作要尽快完成。
- Web UI,用户需要输入什么?用户可以操作什么?用户需要什么功能?用户期待看到什么结果?
- 目前有什么功能?做了什么事儿?输入是什么?输出是什么?
具体事项确定
- 重新组织代码,所有爬虫相关代码放在一个包DataCrawler中,所有IR-tree相关代码放在IR-Tree包下,所有预处理相关代码放在DataPreProcess下(按照这个DataPreProcess的样子组织代码)
- 删除一些不需要的库。方法就是删完一个jar包看有没有报错的地方,有报错的就保留,没报错的就直接删掉 这个任务不紧急,因为我之前已经删过一遍了,能跑就行,先不管了。
- 找出DataCrawler、IR-tree、DataPreProcess公共的部分,比如他们都用了Mongodb相关的操作,包括链接、建立文档集、存取数据等等。应该是有Mongodb和文件操作,以及配置相关的东西,这些都会用到的操作,把都会用到的方法提取成一个接口文档。具体代码不改。
- 思考如何把三个部分结合起来,如何把IR-tree部分和Google地图结合起来。思考能从这三个功能中,提取出哪些操作可以提供给用户,有哪些内容可以显示给用户。
时间安排
一周之类?先安排上
进度查询
见代码和板块。
Keithspray commented
@ljscoding 有啥加的没,要加赶紧嘞,晚上8点截止
Keithnier commented
#3 确定三个模块的公共方法。初步看了一下,目前三个模块都是用了MongoDB、文件、配置读取等功能,但是都是自己实现的。确定一下他们用到的具体功能,形成文档。
Keithnier commented
#4 确定三个模块的数据流向。根据之前的文档,以及现有代码,确定模块与模块之间的交互方式。我不知道我这么描述清不清楚。。 @ljscoding