第一次个人编程作业

https://github.com/silence-github-code/2021SEP

一、PSP表格

(2.1)在开始实现程序之前,在附录提供PSP表格记录下你估计将在程序的各个模块的开发上耗费的时间。

(2.2)在你实现完程序之后,在附录提供的PSP表格记录下你在程序的各个模块的开发上实际花费的时间。

PSP是卡耐基梅隆大学(CMU)的专家们针对软件工程师所提出的一套模型:Personal Software Process (PSP, 个人开发流程,或称个体软件过程)。

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

二、计算模块接口

(3.1)计算模块接口的设计与实现过程。设计包括代码如何组织,比如会有几个类,几个函数,他们之间关系如何,关键函数是否需要画出流程图?说明你的算法的关键(不必列出源代码),以及独到之处。
设计了matching函数,用于将待测文本的每一行与敏感词进行匹配

中文
中文敏感词可能进行一些伪装,在敏感词中插入除字母、数字、换行的若干字符仍属于敏感词。如:当山寨为敏感词词汇时,山_寨,山@寨,山 寨,均可视为敏感词。
中文文本中存在部分谐音替换、拼音替代、拼音首字母替代的敏感词(拼音不区分大小写),如 shan寨,栅寨,山Z等均可视为敏感词。
中文文本中还存在少部分较难检测变形如繁体、拆分偏旁部首(只考虑左右结构)等。
不存在变形后再拆开偏旁部首的情况。
英文
英文文本不区分大小写,在敏感词中插入若干空格、数字等其他符号(换行、字母除外),也属于敏感词,如hello为敏感词时,he_llo,h%ell@o,he llo均为敏感词 。

对于中文的同音词,繁体,通过第三方库pypinyin转换成拼音处理,拆分部首通过字库实现

对于 学 木jiao 这类情况不处理

(3.2)计算模块接口部分的性能改进。记录在改进计算模块性能上所花费的时间,描述你改进的思路,并展示一张性能分析图(由VS 2019、JProfiler或者Jetbrains系列IDE自带的Profiler的性能分析工具自动生成),并展示你程序中消耗最大的函数。
(3.3)计算模块部分单元测试展示。展示出项目部分单元测试代码,并说明测试的函数,构造测试数据的思路。并将单元测试得到的测试覆盖率截图,发表在博客中。

(3.4)计算模块部分异常处理说明。在博客中详细介绍每种异常的设计目标。每种异常都要选择一个单元测试样例发布在博客中,并指明错误对应的场景。

# 由命令行参数打开文件并对异常进行处理
def open_file(path):
    try:
        file = open(path, 'r+', encoding='utf-8')
    except Exception:
        print("文件打开失败!")
        raise Exception("文件打开失败")
    else:
        return file

# 检测命令行参数个数
def parameter():
    if len(sys.argv) != 4:
        print("命令行参数错误!")
        raise Exception("命令行参数错误")

三、心得

(4.1)在完成本次作业过程的心得体会(3')
-这次为了完成作业,学了python的一些知识包括类,List,函数,正则等.第一次接触到github,vscode的性能分析工具,单元测试学到了很多
-但是因为没有合理安排时间,导致后面很赶,下次要合理安排时间

posted @ 2021-09-23 22:55  -阿临-  阅读(169)  评论(0编辑  收藏  举报