福大软工1816 · 第五次作业 - 结对作业2
博客链接##
具体分工##
队友:代码撰写与解释,流程图设计
我: 撰写文档,代码测试与改进
PSP表格##
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) | |||||||||
Planning | 计划 | 60 | 50 | |||||||||
·Estimate | ·估计这个任务需要多少时间 | 60 | 50 | |||||||||
Development | 开发 | 800 | 710 | |||||||||
·Analysis | ·需求分析 (包括学习新技术) | 240 | 260 | |||||||||
·Design Spec | ·生成设计文档 | 120 | 80 | |||||||||
·Design Review | ·设计复审 | 60 | 40 | |||||||||
·Coding Standard | ·代码规范 (为目前的开发制定合适的规范) | 60 | 40 | |||||||||
·Design | ·具体设计 | 60 | 70 | |||||||||
·Coding | ·具体编码 | 160 | 120 | |||||||||
·Code Review | ·代码复审 | 40 | 50 | |||||||||
·Test | ·测试(自我测试,修改代码,提交修改 | 60 | 50 | |||||||||
Reporting | 报告 | 220 | 210 | |||||||||
·Test Repor | ·测试报告 | 60 | 60 | |||||||||
·Size Measurement | ·计算工作量 | 40 | 50 | |||||||||
·Postmortem & Process Improvement Plan | ·事后总结, 并提出过程改进计划 | 120 | 100 | |||||||||
合计 | 1080 | 970 |
解题思路描述与设计实现说明##
1.先识别参数,将输入的参数分类
2.进行热刺匹配,应用matcher识别热词以及不合法的词
3.将热词输出
- 爬虫使用
爬虫工具:这次爬取使用的是“八爪鱼采集器”。
进入工具页面进行爬取
输入论文网址进行爬取即可 - 代码组织与内部实现设计(类图)
- 说明算法的关键与关键实现部分流程图
关键代码解释##
- 贴出你认为重要的/有价值的代码片段,并解释
for(i=1;i<args.length;i+=2)
{
String s=args[i-1];
if("-i".equals(s))fileIn=args[i];
else if("-o".equals(s))fileOut=args[i];
else if("-w".equals(s))weight=Integer.parseInt(args[i]);
else if("-m".equals(s))m=Integer.parseInt(args[i]);
else if("-n".equals(s))n=Integer.parseInt(args[i]);
}
进行识别参数
matcher=Pattern.compile("(.*?)[a-z]{0,3}[0-9]+.*?[^a-z0-9]").matcher(str+" 1 ");
while(matcher.find())
{
Matcher matcher2=Pattern.compile("([a-z]{4}[a-z0-9]*)([^a-z0-9]+)").matcher(matcher.group(1));
List<String>list=new ArrayList<String>(),list2=new ArrayList<String>();
while(matcher2.find())
{
list.add(matcher2.group(1));
list2.add(matcher2.group(2));
words++;
}
进行词语的识别和分类
性能分析与改进##
- 描述你改进的思路
- 展示性能分析图和程序中消耗最大的函数
显然消耗最大的是mat()函数,在进行识别字符串花费太大时间。后续采用map关键字查找,比顺序查找快速较多。
单元测试##
- 展示出项目部分单元测试代码,并说明测试的函数,构造测试数据的思路
贴出Github的代码签入记录##
- 请合理记录commit信息
遇到的代码模块异常或结对困难及解决方法##
- 问题描述
一开始在计算词频的时候选择顺序查找浪费太多时间。无效字符串识别也不知如何下手 - 做过哪些尝试
采用map关键字查找快速许多。 - 是否解决
已解决 - 有何收获
Java里有许多方便的函数可以适应于实际情况,要多了解,实践时才可以得心应手。
评价你的队友##
- 值得学习的地方
队友是个很可爱很开朗的妹子,沟通无压力,合作无代沟,因为业务水平基本在一个水准线上,所以遇到的问题也基本类似,所以在合作的时候没有压力。合作时,会彼此提自己的建议,分工的时候也没矛盾,和她合作的时候很轻松,性格合拍,脑回路在一个频波上,nice~ - 需要改进的地方
改进的地方,主要是我们俩都需要进步,在代码方面都很薄弱,希望队友能够增强自律性,啃下代码这块硬骨头,变成代码大神,顺便把我带躺赢~(不希望队友变成代码大佬的队友,不是好队友。) - 学习进度条
||||||||||||||
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|第N周|新增代码(行)|累计代码(行)|本周学习耗时(小时)|累计学习耗时(小时)|重要成长|
|1|150|150|3|3|复习C++,学习java|
|2|100|250|5|8|学习UI界面设计|
|3|200|450|4|4|复习C++,学习java|