第一次个人编程作业

GitHub作业链接https://github.com/Zachiay/031902342/

一、PSP表格

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

二、计算模块接口

    

  • 计算模块接口的设计与实现过程。

    真棒

    最开始的设计是在遍历时考虑多种情况(也算暴力吧),所以需要:判断类型函数、汉字转拼音函数、简繁体转换函数、汉字拆分合成函数、dfa敏感词树、命令行输入输出函数、比对函数、符合格式的输出函数、还有主函数。算法的关键是要实现这些函数(后来发现绕来绕去太乱了能力不够实现不来);独到之处:特别麻烦算不算,可能比较不容易漏掉,但也很容易出Bug。
    于是组织了汉字拆分ac自动机建树函数、读取词库映射的函数getMap()、建立敏感词的拆字完的部分并保存原词的函数getSensitiveWordPart、建立敏感词的拆字完的部分并保存原词的函数tiveWordPart、建立文章的拆字完的部分并保存原文本的函数clePart()、格式化Wstring的函数format、获取敏感词部分的映射的函数getNdx、输出函数print、拼音库和对应库、汉字转换拼音的函数GetPinYin,但没能写出两个功能都能成功的主函数。
    

  • 计算模块接口部分的性能改进。

        
    真棒
        
    真棒
        
    真棒
        
    真棒
        
    真棒
        

        在改进计算模块性能上所花费的时间:约等于0...改进思路:因为觉得一直遍历应该会超时,所以直接没有写暴力的算法,就谈不上改进,直接去搜了dfa树和ac自动机等相关算法,最后复制过来也不完全懂,就更不会改了..消耗最大的函数是_CheckForDebuggerJustMyCode...
        

  • 计算模块部分单元测试展示。

    测试的函数:拆分后的敏感词匹配;构造思路:用替换将“的”换成拆字后的敏感词
    真棒

    真棒

        

  • 计算模块部分异常处理说明。

    • 多音字无法转换
      转换不成功是因为库里面每个字只唯一对应了一个拼音(不知道如何处理)。
          
      真棒
          

    • 繁体字、生僻字无法转换
      转换不成功是库不够全,繁体字包括生僻字都无法识别出来(构造简繁体转换函数)。
          
      真棒
          

    • 无法识别万能头文件
      因为vs2019没有配置头文件(手动配置/自行添加headfile.h/直接复制万能头原型)
          
      真棒
          

三、心得

    
    这次作业感觉真正离计算机应用近了一点点,编码的时候学会将头文件和具体cpp文件分开更清晰点(虽然早就该会),也会配置host文件上网页了,还对很多c++相关的操作相对熟练了一点点(也算是有进步吧虽然还远远远远远不够)。
    但也又一次发现自己能力真的太太太不足了,尤其是缺乏代码经验,连vs都是刚刚下载的,只会面向OJ编程,实际做项目的时候就很是生疏。很多东西在脑子里就是写不出来。一开始先列计划的时候,就发现需要学的东西真的太多太多了,于是放弃了新学一门语言的可能性,最后看了很多很多帖子和网课,一上手还是废,交上去的代码东拼西凑,基本不是自己写的,明明已经有可以独立运行的汉字拆分和汉字转拼音的程序,但是合并不起来,反而一直越改越废,只好又清空重新打开几小时前的版本,无能狂怒。接下来一定要花更多的时间加倍努力,结对作业可不能拖后腿了(ง •̀_•́)ง

    

posted @ 2021-09-16 22:38  Zachiay  阅读(104)  评论(0编辑  收藏  举报