zoukankan      html  css  js  c++  java
  • 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、压力测试
     
    运行结果:
     
    五、收获
       从这一次的软件工程作业中,我学到了很多。
       首先就是认识到了程序员的艰辛,为了完成作业已经整整刷了两个通宵,但在这么高强度的工作中,也切切实实地提高了自己的编程能力。
       另外,就是做事要先易后难,层层推进,这次编程,我文件处理方面的东西不会,于是我就先把词频分析的部分先写出来,然后再加上文件处理方面的代码,先做出一个较为简单的版本,再逐渐优化,这样就大大降低了难度。
       其次,在这次的作业中,我懂得了向别人学习的重要性。
        当然,我知道自己还有很多不足的地方,我会在今后的课程中能够向老师、助教和同学不断学习,不断进步!

     

     

  • 相关阅读:
    PAT (Advanced Level) Practice 1100 Mars Numbers (20分)
    PAT (Advanced Level) Practice 1107 Social Clusters (30分) (并查集)
    PAT (Advanced Level) Practice 1105 Spiral Matrix (25分)
    PAT (Advanced Level) Practice 1104 Sum of Number Segments (20分)
    PAT (Advanced Level) Practice 1111 Online Map (30分) (两次迪杰斯特拉混合)
    PAT (Advanced Level) Practice 1110 Complete Binary Tree (25分) (完全二叉树的判断+分享致命婴幼儿错误)
    PAT (Advanced Level) Practice 1109 Group Photo (25分)
    PAT (Advanced Level) Practice 1108 Finding Average (20分)
    P6225 [eJOI2019]异或橙子 树状数组 异或 位运算
    P4124 [CQOI2016]手机号码 数位DP
  • 原文地址:https://www.cnblogs.com/zhoucg/p/3337991.html
Copyright © 2011-2022 走看看