• 第五次作业


    队友博客链接
    本次博客链接
    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 100 100 4.5 4.5 复习C++,学习java,学习git
    2 0 300 8 3 学习前端设计
  • 相关阅读:
    异常
    带参数的方法
    变量,基本类型,数据类型和运算符
    数据类型转换(针对数字类型)
    this关键字
    面向对象DAO模式
    常见类 Object
    方法和包
    final关键字
    abstract关键字
  • 原文地址:https://www.cnblogs.com/lkl-fzu/p/9769370.html
Copyright © 2020-2023  润新知