第一次编程作业(Python)

软件工程 https://edu.cnblogs.com/campus/gdgy/CSGrade21-12
我的班级 https://edu.cnblogs.com/campus/gdgy/CSGrade21-12
作业要求 https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13014
作业目标 学习代码实现论文查重,并学会PSP模式

1. GitHub仓库地址:https://github.com/lzca888/lzca888

2. PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 30 40
Estimate 估计这个任务需要多少时间 360 400
Development 开发 30 40
Analysis 需求分析(包括学习新技术) 25 30
Design Spec 生成设计文档 10 15
Design Review 设计复审 15 10
Coding Standard 代码规范 (为目前的开发制定合适的规范) 10 15
Design 具体设计 30 40
Coding 具体编码 90 120
Code Review 代码复审 20 15
Test 测试(自我测试,修改代码,提交修改) 30 60
Reporting 报告 60 80
Test Report 测试报告 30 30
Size Measurement 计算工作量 20 25
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30 45
合计 790 965

3. 计算模块接口的设计与实现过程

  • 流程
  • 创建get_file_contents函数获取指定路径的文件内容

  • 创建filter函数将读取到的文件内容先把标点符号、转义符号等特殊符号过滤掉,然后进行jieba分词

  • 创建main函数用simhash库生成获取到的文本的Simhash值,计算海明距离,计算重复率,写入输出文件

4. 计算模块接口部分的性能测试

  • 空间性能测试
    get_file_contents函数(内存最大)

filter函数

mian函数

  • 时间性能测试
    get_file_contents函数

filter函数

mian函数(耗时最长)

总耗时

5. 覆盖率

  • 覆盖率达到88%,原因:以下的代码没有执行
  • 消除以上代码后,覆盖率达到100%

6. 异常以及优化处理

  • 在调试阶段,针对使用者方便查重,设置输入文件路径,也防止文件路径出错问题。程序引入os.path.exists()方法用于检验文件是否存在,对文件路径进行判断,如果文件路径不存在,则退出程序。

7. 实测结果

posted @ 2023-09-17 19:05  琪猫猫  阅读(31)  评论(0)    收藏  举报