• Project: Individual Project


    一、预计用时:

    (1)明确要求:30min;

    (2)文件的遍历:2h;

    (3)Simple mode 词频统计:1h;

    (4)extend mode 词频统计:1h;

    (5)对单词词频排序输出:0.5h;

    (6)测试与调试:2h;

    (7)程序优化:2h;

     

    二、实际用时:

     

     

     

    (1)遍历文件夹:文件操作本来就没有掌握,自己动手的时候一筹莫展,这部分工作是放在最后完成的,最终还是参考的同学的代码,用时比较久,4h

     

     

     

    (2)Simple词频统计:在这部分中,首先用c编写的代码,花了1.5h,然后再改写进c++中,由于我c++不很会,花费了1.5h

     

     

     

     

     

    (3)Extend词频统计:这一部分主要借鉴上一部分代码,其中仅仅改变了对单词的识别,花费了1h

     

     

     

    (4)排序与输出:首先做的是标准输出,花费了20分钟,然后改成文件输出花费0.5h

     

     

     

    (5)测试与调试:3h;

     

     

     

    在调试阶段,是最头痛的阶段,基本模式还比较简单,在扩展模式中,在提取出数字的时候,由于忽略数字之后还可以再有字母的情况,导致某些单词无法输出,经过改进后,这个问题终于解决;

     

    另外比较大的问题就是文件操作方面,使得程序能够递归遍历文件夹下所有文件让我吃了很大苦头。

     

    经过调试后,至少程序已经可以跑了,这让我熬了一宿也感到很是欣慰。

     

    (6)程序优化:3h

     

    四、测试用例

     

     

     1、空文本

     

     
     
    运行结果如下:
    说明可排除空文件
    2、多种后缀格式
     
    运行结果
     
    说明可以在多种文件类型下运行
    相应代码如下
    const regex pattern("\w+\.(txt|cs|h|cpp)");
     
     
    3、简单模式大小写测试(含排序)
    用例:
     
     
    结果:
     
    4、扩展模式下的大小写测试;
    测试用例:
     
    结果:
     
     
    5、长度小于4单词测试
    用例:
     
     
    结果:
     
     
     
    6、数字位于单词中间:
    用例:
     
    结果:
     
    7、多个子目录下有文件
     
    结果:
     
    8、字典序排序
    用例:
     结果:
     
    9、测试数字开头单词:
     用例:
    结果:
     
    10、压力测试
     
    运行结果:
     
    五、收获
       从这一次的软件工程作业中,我学到了很多。
       首先就是认识到了程序员的艰辛,为了完成作业已经整整刷了两个通宵,但在这么高强度的工作中,也切切实实地提高了自己的编程能力。
       另外,就是做事要先易后难,层层推进,这次编程,我文件处理方面的东西不会,于是我就先把词频分析的部分先写出来,然后再加上文件处理方面的代码,先做出一个较为简单的版本,再逐渐优化,这样就大大降低了难度。
       其次,在这次的作业中,我懂得了向别人学习的重要性。
        当然,我知道自己还有很多不足的地方,我会在今后的课程中能够向老师、助教和同学不断学习,不断进步!

     

     

  • 相关阅读:
    Linux进程管理工具Supervisor
    RSA加密传输代码示例
    静态网站创建工具Docusaurus
    Proactor和Reactor模型
    机器学习中的七宗罪
    Tokio internals: Understanding Rust's asynchronous I/O framework from the bottom up
    开源软件创建SOC的一份清单
    How to setup SOC using open-source tools
    彼得定律
    深入浅出通信原理连载
  • 原文地址:https://www.cnblogs.com/zhoucg/p/3337991.html
Copyright © 2020-2023  润新知