• SoftwareEngineering Individual Project


    说实话前面c#实在没怎么学过。这次写起来感觉非常陌生,就连怎么引用名空间都忘记了。在经过恶补后还是慢慢地适应了。

    1.项目预计用时:

      构建并写出大概的数据结构,程序框架及模块: 30min

      实现文件夹递归方问方法 :30min

      实现从文件中读出符合要求的单词并统计 :2-3h

      实现对单词的排序 : 1h

      输出:10min

      细节修改及错误排查:2-3h

      程序优化: 1h

    2.项目的实际用时:  

      构建并写出大概的数据结构,程序框架及模块: 30min

      实现文件夹递归方问方法 :30min

      实现从文件中读出符合要求的单词并统计 :3h

      实现对单词的排序 : 30min

      输出:5min

      细节修改及错误排查:2h

      程序优化: 1h

    3.项目分析和优化

      对于词频统计这项目,若想写好,需要考虑用什么数据结构来储存单词的统计信息。按照project的要求,需要输出的信息为出现的第一字典序单词,以及该单词的词频,而且需要进行相应的排序。最开始是用hashtable,后来发现并不好进行排序,所以最后选择了Directory这个数据结构来保存相应的统计信息,每个单词的全小写可以作为唯一标识的key值来进行索引,而value我是用自己建立的一个数据结构来保存已经出现的第一字典序单词以及词频。这样每次都可以取出所保存的单词与当前遇到的单词进行比较,并将字典序较高者保存下来。

      

     

     

    4.项目的测试用例:

    1).测试最基本的单词分辨:

    We love china,and we are Chinese.China is a beautiful country.

    abc123 123abc ...Abc123

    2)测试两个连续单词分辨;

    3)测试两个连续单词分辨;

    4)多文件遍历读取测试;

    5)空文件读取测试;

    6)基本统计数据正确性测试;

    7)两个连续单词统计数据正确性测试;

    8)三个连续单词统计数据正确性测试;

    9)汉字测试;

    10)大文件夹统计测试;

    --------------------------------------

      

      

      

  • 相关阅读:
    windows server 2008服务器 做raid0
    SQL Server 2012将数据库备份到网络中的共享文件夹
    SQL Server 2012 使用警报调度数据库作业通知操作员
    Cent OS7上安装并初始化MySQL8.0.15
    nginx 跨域请求、别名路径及防盗链的配置
    ElasticSearch和Kibanna的安装与启动
    Mybatis报错:Result Maps collection already contains value for xx.xxx
    Redis的常见数据类型——String类型
    Redis安装与配置
    nginx日志切割(手动/自动)
  • 原文地址:https://www.cnblogs.com/Linhs/p/3993675.html
Copyright © 2020-2023  润新知