第一次个人编程作业

news/2024/9/20 6:34:00/文章来源:https://www.cnblogs.com/ez4bridge/p/18393550

github地址

这个作业属于哪个课程 计科22级12班
这个作业要求在哪里 作业要求链接
这个作业的目标 遍历论文查重并封装成可执行文件,学习PSP和commit规范,学习测试和评估代码

一、设计思路

文件结构:

程序流程:

实现逻辑:

  • 查找资料发现比较简单的实现是通过计算余弦向量来实现重复率检测。原理是统计词的频率并且根据nlp的思想将词转换为向量,余弦可以判断向量的相似程度(多维向量也成立),因此可以用来判断文章的相似度。

二、性能改进

时间:

1s左右通过9个案例,第一次加载Hanlp库时耗时较长

内存:

List开的最大,用于存储词汇

改进思路:

时空可以接受,基本都是一次遍历

三、测试

部分测试代码:

  • 测试函数为所有,测试数据除初始提供的,另加入空地址,错地址等测试案例。
  • 也测试了输入格式不对,文本为空等案例,但未写成代码测试。
    image

测试结果:

image

image

覆盖率:

  • FileUtil一部分为IO异常,不进入测试考察范围
  • 综合下来,覆盖率高

四、异常处理说明

IOException:IO发生错误,可能是权限导致
InvalidFilePathException:自定义路径无效异常

五、PSP表格

阶段 描述 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 5min 5min
· Estimate · 估计这个任务需要多少时间 5min 5min
Development 开发 5h30min 5h
· Analysis · 需求分析 (包括学习新技术) 2h 2h
· Design Spec · 生成设计文档 1h 10min
· Design Review · 设计复审 20min 10min
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20min 10min
· Design · 具体设计 20min 10min
· Coding · 具体编码 1h 20min
· Code Review · 代码复审 30min 1h
· Test · 测试(自我测试,修改代码,提交修改) 1h 1h
Reporting 报告 50min 1h
· Test Report · 测试报告 30min 40min
· Size Measurement · 计算工作量 10min 10min
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 10min 10min
合计 7h 6h5min

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/794633.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

echart map图标切换多选,单选,默认选中

需求是echart默认地图选中之前的去过的城市,一开始多选,后面点击为单选const option = {tooltip: {trigger: item,formatter: {b}},series: [{type: map,roam : true,//是否开启缩放和平移zoom : 1,//当前视角缩放比例selectedMode: multiple, // 只允许单选// 设置为一张完整…

CH58x/CH59x/CH57x RF_PHY(2.4g)切换Channel发送接收

前言:在做某些应用的时候可能需要我们发送或者接收时切换对应的channel。 此次完成测试的平台在WCH的CH592F上完成的。 在工作发送过程中切换37、38、39三个信道进行轮询发送。具体需要使用最关键的函数是:RF_SetChannel 实现代码如下:if(events & channl_37_tx_evt){RF…

ArmSoM-Sige5 的 RK3576 SoC 主线内核支持进展

我们很高兴地宣布,基于 RK3576 SoC 的 ArmSoM-Sige5 开发板的主线内核支持,collabora正在稳步推进中。RK3576 SoC 是 Rockchip 家族的一员,其设计和功能与广受欢迎的 RK3588 相似,许多硬件模块都得到了复用,这为我们在主线内核中添加支持提供了有利条件。 RK3576主线内核…

P3579

今天有点高效啊,切数论题都这样喵? #include<bits/stdc++.h> using namespace std; int main() {int n,a,b,c,d,s,m;cin>>n;while(n--){cin>>a>>b>>c>>d; m=min(b,d);for(int i=1;i<=m;i++){i=min(b/(b/i),d/(d/i));//优化,只考虑b/…

机器学习作业

Ch3-K均值聚类算法 【9月4日】 学号:102102156 姓名:高涛 1. make_circles方法生成数据 1.1 源代码 from sklearn.cluster import KMeans from sklearn.datasets import make_circles, make_moons, make_blobs import matplotlib.pyplo…

volta 管理多个node版本时,Volta error: Could not download node

设置代理 在终端中执行以下命令,替换为你自己的代理地址: bash $env:HTTP_PROXY="你的代理地址" $env:HTTPS_PROXY="你的代理地址" 然后重启终端: Windows 用户需要以管理员身份重新打开终端。 Mac 用户只需重启终端即可。 这样可以确保你在终端中通过代…

el-upload点击问题

问题描述: 今天在写vue项目时,用到了element plus中的el-upload组件,发现这么一个问题: 组件各个功能都是正常的,也可以上传图片,但是 虚线框里那么大一片区域只有中间那个十字是可以点击的点击查看代码 <el-uploadclass="ImageUpload":action="http:/…

P2424

1.逃课做法 第一眼看到: 感觉有点像内啥分解只因数 然后就不会了那我写这个干什么 这时,聪明的我们就想到了打表 怎么打呢? 如图:我们可以把它分成几个块,提前打好每个块的答案 这样,我们就用普及的算法过了提高的题 2.正解 氧化钙(CaO)的怎么和上题一样 #include<c…

BinLLM论文阅读笔记

Text-like Encoding of Collaborative Information in Large Language Models for Recommendation论文阅读笔记 Abstract 现存的问题: ​ 在调整用于推荐的大型语言模型(LLMRec)时,整合协作信息至关重要。现有的方法通过从头开始学习 LLM 潜在空间中的协作嵌入或通过外部模…

线上问题排查-定时任务状态未复位

项目业务 用户授权登录后,负责把本 app 的运动同步到第三方,分别对接了 A、B、C、D 等第三方,各个平台的推送方式不太一样,有一些是主动查询,有一些是主动推送 场景 周五线上 Redis 报了内存不足,代码排查后发现用户数据占用了很大一部分,并且只存储不查询也不设置过期事…

java基础 -线程(基础)的 笔记

581,多线程机制 因为需要敌人的坦克可以自由移动并发射子弹,我们的坦克可以移动并发射子弹,这些要用到线程的知识。根据JConsole监控线程执行情况,发现,主线程执行完了,子线程还没有执行完,并不能表示当前进程死亡了,只有当所有的子线程执行完了,主进程才会结束。真正…