第一次个人编程作业

发布时间 2023-09-17 12:39:20作者: 你说的不对

| 这个作业属于哪个课程 | 计科21级12班|

| 这个作业要求在哪里| 个人项目 |

| 这个作业的目标 | 熟悉软件开发整体流程 |

Github仓库

模块设计与实现:

get_txt(path):读取path的文件内容并返回字符串格式

filter(word):使用jieba库功能对文本分词,使用python正则表达式筛选中文英文数字,返回列表

cal_sim(txt1,txt2):计算两个文本之间的预选相似度,创建文本的字典,将文本转换为词袋表示,并使用gensim的Similarity计算相似度

parse():使用argparse定义参数解析器,定义文件输入和输出路径参数。

主要执行:代码首先使用args = parse()解析命令行参数。然后,它检查指定的输入文件路径是否存在。如果路径中的任何一个不存在,它会引发FileExistsError。接下来,它使用get_txt()读取输入文件的内容,并使用filter()进行分词和过滤。最后,它使用cal_sim()计算相似度,并将结果写入指定的输出文件。

性能分析:

数据统计

调用图:

改进思路:

减少计算和重复代码

代码测试:

测试代码部分:

已经在config中默认了文件路径:

直接对默认文件路径读取保存再运行cal_sim函数保存到result_path路径上

代码覆盖率分析:


main中可能未能运行代码:

config中可能未能运行代码

异常处理:


当路径不存在时,抛出文件存在异常错误,程序运行停止。

PSP

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