福大软工1816 · 第五次作业 - 结对作业2

博客链接##

队友博客链接
本次博客链接
github地址

具体分工##

队友:代码撰写与解释,流程图设计
我: 撰写文档,代码测试与改进

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|
posted @ 2018-10-10 21:49  吾言  阅读(204)  评论(1编辑  收藏  举报